J'ai un script qui est appelé plusieurs fois en parallèle. Je voudrais
bufferiser la sortie dans un fichier de log (par exemple pas comme
syslog, c'est une galère de décortiquer une session SMTP lorsque postfix
est forké 25 ou 30 fois)
Ben c'est sûr que je gaspille pas mal de temps à attendre que l'un des
10 autres process ait lache le fichier.
Ce que je pense, est faire un démon séparé - ou une tache cron-, qui va
collecter tous les log.nnn, les balancer dans myscript.log, et les
effacer ensuite.
Le problème est que je peux attraper un des fichier log.$$ qui sot en
cours d'écriture.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Unknown
Le Tue, 22 Jun 2004 15:20:09 +0200, Xavier HUMBERT a écrit :
Bonjour,
J'ai un script qui est appelé plusieurs fois en parallèle. Je voudrais bufferiser la sortie dans un fichier de log (par exemple pas comme syslog, c'est une galère de décortiquer une session SMTP lorsque postfix est forké 25 ou 30 fois)
utilise un fichier fifo
tu fais mkfifo /tmp/fifoLogs puis un script qui gere les logs du genre : while : do cat /tmp/fifoLogs >> /var/log/vraiLogs done
ensuite tes programmes écrivent dans /tmp/fifoLogs
Le Tue, 22 Jun 2004 15:20:09 +0200, Xavier HUMBERT a écrit :
Bonjour,
J'ai un script qui est appelé plusieurs fois en parallèle. Je voudrais
bufferiser la sortie dans un fichier de log (par exemple pas comme
syslog, c'est une galère de décortiquer une session SMTP lorsque postfix
est forké 25 ou 30 fois)
utilise un fichier fifo
tu fais mkfifo /tmp/fifoLogs
puis un script qui gere les logs du genre :
while :
do
cat /tmp/fifoLogs >> /var/log/vraiLogs
done
ensuite tes programmes écrivent dans /tmp/fifoLogs
Le Tue, 22 Jun 2004 15:20:09 +0200, Xavier HUMBERT a écrit :
Bonjour,
J'ai un script qui est appelé plusieurs fois en parallèle. Je voudrais bufferiser la sortie dans un fichier de log (par exemple pas comme syslog, c'est une galère de décortiquer une session SMTP lorsque postfix est forké 25 ou 30 fois)
utilise un fichier fifo
tu fais mkfifo /tmp/fifoLogs puis un script qui gere les logs du genre : while : do cat /tmp/fifoLogs >> /var/log/vraiLogs done
ensuite tes programmes écrivent dans /tmp/fifoLogs
Stephane Chazelas
2004-06-22, 15:20(+02), Xavier HUMBERT: [...]
Le problème est que je peux attraper un des fichier log.$$ qui sot en cours d'écriture. [...]
Tu peux ecrire dans un fichier tmplog.$$ et le renommer en log.$$ quand c'est fini.
-- Stephane
2004-06-22, 15:20(+02), Xavier HUMBERT:
[...]
Le problème est que je peux attraper un des fichier log.$$ qui sot en
cours d'écriture.
[...]
Tu peux ecrire dans un fichier tmplog.$$ et le renommer en
log.$$ quand c'est fini.