test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Je veux implémenter logrotate pour contrôler la taille du fichier journal, alors comment implémenter logrotate, si la situation est comme ci-dessus?
cp
etmv
, puis-je supprimer le fichier journal, puis-je créer un nouveau fichier journal avec le même nom? (Mon exigence est, si le fichier journal est atteint une certaine limite, je veux supprimer ce fichier journal, puis créer un nouveau fichier )>>
pour ajouter au fichier journal,>
le remplacera encore et encore.>
, j'obtienstail: test.log: file truncated Hello World!
.... Si j'utilise>>
, j'obtiens un message de journal correct, mais la taille du fichier augmente. Aucune condition vérifiant la condition ... ;-(que diriez-vous d'utiliser
savelog
?Il est disponible dans Debian et RH et à peu près toutes les autres distributions Linux que je connais. C'est un script shell / bin / sh, donc devrait également fonctionner sur tout autre Unix.
par exemple avant d'écrire quoi que ce soit à
test.log
exécutersavelog -n -c 7 test.log
. Cela conservera les 7 versions non vides les plus récentes de test.log. Par défaut, il compressera les journaux tournés (mais cela peut être désactivé avec-l
).Si vous en avez besoin, vous pouvez vérifier la taille de
test.log
et uniquementsavelog
si elle dépasse une certaine taille.la source
/usr/bin/savelog
script shell sur sources.debian.net/src/debianutils/4.7savelog
aucune de mes boîtes RHEL / CentOS 5/6, donc je viens de la télécharger ad hoc, et cela semble fonctionner très bien pour mes besoins.savelog
est qu'il renomme le fichier mais prend ensuite beaucoup de temps pour compresser les anciens avant de terminer. Pendant ce temps, le journal .0 contient déjà les entrées du jour suivant. Idéalement, le temps entre la rotation du journal et la signalisation du processus de réouverture du journal devrait être minimal. Je désactivesavelog
la fonction de compression de pour cette raison.J'ai écrit un logrotee ce week-end. Je ne le ferais probablement pas si j'ai lu la grande réponse de
multilog
@ JdeBP .Je me suis concentré sur le fait qu'il soit léger et capable de bzip2 ses morceaux de sortie comme:
Il reste encore beaucoup à faire et à tester.
la source
Comme je ne peux pas encore ajouter de commentaires à la réponse acceptée , un indice BusyBox , où
du
n'a pas de-b
drapeau:la source