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:
M | README | | | 1 | + |
M | qcm.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"