qcm

Faire des qcm simplement - retour accueil

git clone git://bebou.netlib.re/qcm
Log | Files | Refs | README |

commit 538ac8444b56a4e97e0d20526459f2e6c3af12b7
parent efd03ac02586366bb9df5fadcf1e94ded1dc9fb3
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Mon, 24 Feb 2025 15:01:17 +0100

Se prémunir de la rotation des logs

Après avoir tenté un sondage sur plusieurs jours j'ai appris que `tail
-f` ne suit les fichiers que par leurs descripteurs de fichier. Si un
système de rotation de log vient archiver le log en cours et en créer un
nouveau ça casse. L'option `-F` de GNU tail permet de suivre le fichier
par nom et de retenter quand il n'existe pas. Je pense que ça devrait
prémunir de la rotation de logs.

C'est dommage de ne pas pouvoir utiliser tail posix. Chercher s'il est
possible de compenser autrement mais je suis pas super optimiste. A
l'écriture de ce commit je n'ai pas testé si ça résolvait vraiment le
problème.

Diffstat:
MREADME | 1+
Mqcm.sh | 4++--
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/README b/README @@ -21,6 +21,7 @@ sur une autre variante Unix-like. * un `sed` posix * un `xargs` posix * un `ps` posix + * un `tail` avec -F (GNU tail l'a) * optionnelle : gnuplot pour faire des graphiques avec -g Testé sous debian 12 et le serveur web nginx packagé pour. Le code diff --git a/qcm.sh b/qcm.sh @@ -115,9 +115,9 @@ demander() { pattern="GET /$id/$pattern" [ -p "$tmpd/notif" ] || mkfifo "$tmpd/notif" - tail -fn0 "$logs" | grep --line-buffered -E "$pattern" >> "$tmpd/in" & # PARSAGE DE LOG + tail -Fn0 "$logs" | grep --line-buffered -E "$pattern" >> "$tmpd/in" & # PARSAGE DE LOG tail1pid=$! - tail -fn0 "$logs" | grep --line-buffered -E "$pattern" > "$tmpd/notif" & # PARSAGE DE LOG + tail -Fn0 "$logs" | grep --line-buffered -E "$pattern" > "$tmpd/notif" & # PARSAGE DE LOG tail2pid=$! calcandshow "$qplotcmd" "$hide"