J'ai un système avec plusieurs dajons en cours d'exécution (comme unités SystemD) qui produisent des informations de journal sur le journal en Arch Linux. Je souhaite diriger la sortie de la revue de certains de ces fichiers unitaires dans un fichier texte distinct dont je spécifie la localisation, créant essentiellement un fichier journal pour un sous-ensemble d'unités. Comment puis-je faire ça?
Semble que cela ne soit pas possible et non désiré par l'amont (rediriger STDOUT/STDERR à des fichiers individuels) Voir par exemple. http://lists.freedesktop.org/archives/systemd-devel/2012-march/004705.html - Lisez le fil entier pour plus d'informations de contexte comment cela est destiné à fonctionner.
Ce que vous pouvez faire, c'est soit votre journal à Syslog, et écrivez ainsi à des fichiers individuels. Ou l'inverse, si l'unité appelle un programme qui peut écrire un journal lui-même, utilisez-le pour vous connecter à un fichier.
Vous voudrez peut-être aussi jeter un coup d'œil à Afficher STDOUT/STDERR de SystemD Service
Ce que vous pouvez déjà faire avec votre configuration actuelle, est utile
[.____] journalctl -u yourunitname > yourlogfile_for_yourunitname
[.____] Pour diriger toute la sortie de journal pour votre unité "YourunitName" dans un fichier.
Sur cette dernière partie, vous devriez également jeter un coup d'œil aux indications de Lennart à partir de la liste de diffusion susmentionnée.
Sur les versions SystemD récentes, quelque chose comme
systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.service
devrait créer une sortie très simple qui inclut uniquement les messages réels et rien d'autre. Vous pouvez même passer "-f" et faire cela en direct. "
Edit: En réalité, pour les versions SystemD Newer, la commande est uniquement JournalCtl et De ce que je peux dire, la commande longue susmentionnée est la même que journalctl -u yourunitname
Et vous pouvez aussi -f
Là-bas pour "suivre" la sortie (comme dans tailf ou queue -f).