ver para log journalctl comando linux stdout fedora systemd stderr

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''