Journalctl : Comme simple user daemonisé
Le
Grégory Bulot

Bonjour,
Encore mes problèmes journalctl²
* executer journalctl en simple user, ça fonctionne sous réserve =
de :
usermod -a -G systemd-journal xymon
* lorsque le script est lancé via xymon (user xymon aussi) ça ne
fonctionne pas :
Hint: You are currently not seeing messages from other users and
the system. Users in the 'systemd-journal' group can see all
messages. Pass -q to turn off this notice.
1/ y aurait-il un moyen de n'autoriser "xymon" qu'a lire les logs
postfix¹ plutôt que "tout"
2/ existe-t-il une solution plus propre que de faire :
journalctl --since "600 minutes ago" | /bin/grep
"postfix/smtpd.*NOQUEUE"
¹ cf réponse de l0f4r0@tuta.io, Sun, 26 Apr 2020 17:58:36
² ou comment s'ajouter des problèmes que l'on avait pas avec sysv
Encore mes problèmes journalctl²
* executer journalctl en simple user, ça fonctionne sous réserve =
de :
usermod -a -G systemd-journal xymon
* lorsque le script est lancé via xymon (user xymon aussi) ça ne
fonctionne pas :
Hint: You are currently not seeing messages from other users and
the system. Users in the 'systemd-journal' group can see all
messages. Pass -q to turn off this notice.
1/ y aurait-il un moyen de n'autoriser "xymon" qu'a lire les logs
postfix¹ plutôt que "tout"
2/ existe-t-il une solution plus propre que de faire :
journalctl --since "600 minutes ago" | /bin/grep
"postfix/smtpd.*NOQUEUE"
¹ cf réponse de l0f4r0@tuta.io, Sun, 26 Apr 2020 17:58:36
² ou comment s'ajouter des problèmes que l'on avait pas avec sysv
a écrit :
Si cette dernière ligne apparait, effectivement, désolé pour avoir
oublié cette ligne (pourtant le usermod -a -G systemd-journal xymon a
bien a été passé)
cat /etc/debian_version
10.3
dpkg -l systemd | grep "^ii"
ii systemd 241-7~deb10u3 amd64 system and service manager
grep -v -e "^$" -e "^#" /etc/systemd/journald.conf
[Journal]
c'est du secret défense, avec des années de recherches ;-)
#!/bin/bash
[...] #des variables, des fonctions
set -o pipefail
#marche avec un shell en "interactif" en tant que user xymon :
NOQUEUE=$(journalctl --since "600 minutes ago" | /bin/grep
"postfix/smtpd.*NOQUEUE" | /bin/sed 's/.*NOQUEUE: (.*)/1/')
NoQueueErr=$?
if [[ $NoQueueErr -gt 0 ]] ; then
AddToBody "&yellow : Probleme pour parser log NOQUEUE"
FinScript
exit 1
fi
Probablement. journalctl perds de son intérêt (mon point de vue). Avec
cette hypothèse je préfère trouver le moyen pour que postfix log de
nouveau dans /var/log/mail.log
2 mai 2020 à 10:33 de :
Je suppose que tu avais déloggué/reloggué juste après l e user xymon ?
Ok, on a tout pareil et chez moi ton script fonctionne :)
Ton pb pourrait justement venir de ta conf (ex : https://github.com/systemd /systemd/issues/2744).
Tu es probablement en "Storage=auto" sans avoir créé /var/log/j ournal.
A ta place je ferais un test avec "Storage=persistent" a minima pour voir si ça arrange qqch...
Bien cordialement,
l0f4r0
a écrit :
bien sur que .... non ... j'ai fait un restart du service c'est Ok
maintenant
J'avais pas pensé au restart tellement convaincu que le script se
lançait toutes les 5 minutes .... ce qui est vrai mais pas le ....
daemon qui lance mon script.
Merci pour m'avoir éclairé !