¿Cómo dirigir la salida del diario de ciertas unidades a un archivo en particular?

12

Tengo un sistema con varios demonios en ejecución (como unidades systemd) que envían información de registro al diario en Arch Linux. Quiero dirigir la salida del diario de algunos de esos archivos de unidad a un archivo de texto separado cuya ubicación especifique, esencialmente creando un archivo de registro para un subconjunto de unidades. ¿Cómo puedo hacer eso?

Amr Bekhit
fuente
Una pregunta relacionada es unix.stackexchange.com/questions/468444 .
JdeBP

Respuestas:

10

Parece que esto no es posible y no deseado por upstream (redirigiendo stdout / stderr a archivos individuales) ver, por ejemplo, http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - lea el hilo completo para obtener más información información de contexto cómo se pretende que esto funcione.

Lo que puede hacer es iniciar sesión en syslog y escribir de esa manera en archivos individuales. O al revés, si la unidad llama a algún programa que pueda escribir un registro en sí mismo, entonces úselo para iniciar sesión en un archivo.

También puede echar un vistazo a Ver stdout / stderr del servicio systemd

Lo que ya puede hacer con su configuración actual, es usarlo
journalctl -u yourunitname > yourlogfile_for_yourunitname
para dirigir la salida del diario completo de su unidad "yourunitname" a un archivo.

En la última parte, también debe echar un vistazo a las sugerencias de Lennart del hilo de la lista de correo mencionado anteriormente:

En versiones recientes de systemd, algo así systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.servicedebería crear una salida muy simple que solo incluya los mensajes reales y nada más. Incluso puedes pasar "-f" y hacer esto en vivo ".

EDITAR: En realidad, para las versiones más recientes de systemd, el comando es solo journalctl y, por lo que puedo decir, el comando largo mencionado anteriormente es el mismo journalctl -u yourunitnamey también puede -f"seguir" la salida (como en tailf o tail -f).

doktor5000
fuente