para - linux comando journalctl
¿Cómo canalizar la salida a un archivo cuando se ejecuta como un servicio de Systemd? (2)
Tratar:
ExecStart=/usr/bin/sh -c "/apppath/appname > /filepath/filename 2>&1"
ExecStart requiere que el primer argumento sea binario (sin excepciones) y no permite canalizaciones ni redireccionamientos. Por lo tanto, use ExecStart para iniciar un shell en el que pueda hacer todas las cosas de fantasía necesarias.
Tengo problemas para canalizar STDOUT & STDERR a un archivo cuando se ejecuta un programa como un servicio systemd. He intentado agregar lo siguiente al archivo .service
:
ExecStart=/apppath/appname > /filepath/filename 2>&1
Pero esto no funciona. La salida está terminando en / var / log / messages y se puede ver usando journalctl pero me gustaría un archivo separado.
También he intentado configurar StdOutput=tty
pero no puedo encontrar una forma de redirigir esto a un archivo.
Cualquier ayuda sería apreciada.
systemd.service(5)
dice:
ExecStart =
Comandos con sus argumentos que se ejecutan cuando se inicia este servicio.
Entonces, systemd
ejecuta su /apppath/appname
con args >
, /filepath/filename
, 2>&1
Tratar:
ExecStart=/bin/sh -c ''/apppath/appname > /filepath/filename 2>&1''