Le paquet logrotate permet la rotation automatique, la compression, la suppression et l'envoi par mail des fichiers de log.
Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.1.
Téléchargement (HTTP) : https://github.com/logrotate/logrotate/releases/download/3.11.0/logrotate-3.11.0.tar.xz
Somme de contrôle MD5 du téléchargement : 3a9280e4caeb837427a2d54518fbcdac
Taille du téléchargement : 132 Ko
Estimation de l'espace disque requis : 1.7 Mo
Estimation du temps de construction : 0.1 SBU
Fcron-3.2.0 (à l'exécution)
Un MTA (à l'exécution)
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/logrotate
Installez logrotate en lançant les commandes suivantes :
sed -i '/exit 5/s/^/echo uncompress failed -- skipping #/' test/test && ./configure --prefix=/usr && make
Pour tester les résultats lancez : make test.
Maintenant, en tant qu'utilisateur root
:
make install
sed ... test/test :empêche les tests d'échouer à cause d'un problème dans le script de tests.
Logrotate nécessite un fichier de
configuration, qui peut être passé en argument à la commande quand
elle est lancée. Créez le fichier en tant qu'utilisateur
root
:
cat > /etc/logrotate.conf << EOF # Begin of /etc/logrotate.conf # Rotate log files weekly weekly # Don't mail logs to anybody nomail # If the log file is empty, it will not be rotated notifempty # Number of backups that will be kept # This will keep the 2 newest backups only rotate 2 # Create new empty files after rotating old ones # This will create empty log files, with owner # set to root, group set to sys, and permissions 644 create 0664 root sys # Compress the backups with gzip compress # No packages own lastlog or wtmp -- rotate them here /var/log/wtmp { monthly create 0664 root utmp rotate 1 } /var/log/lastlog { monthly rotate 1 } # Some packages drop log rotation info in this directory # so we include any file in it. include /etc/logrotate.d # End of /etc/logrotate.conf EOF chmod -v 0644 /etc/logrotate.conf
Maintenant créez le répertoire /etc/logrotate.d
en tant qu'utilisateur
root
:
mkdir -p /etc/logrotate.d
Maintenant des commandes de rotation de log supplémentaires peuvent
être entrées, typiquement dans le répertoire /etc/logrotate.d
. Par exemple :
cat > /etc/logrotate.d/sys.log << EOF /var/log/sys.log { # If the log file is larger than 100kb, rotate it size 100k rotate 5 weekly postrotate /bin/killall -HUP syslogd endscript } EOF chmod -v 0644 /etc/logrotate.d/sys.log
Vous pouvez indiquer des fichiers multiples dans une seule entrée :
cat > /etc/logrotate.d/example.log << EOF file1 file2 file3 { ... postrotate ... endscript } EOF chmod -v 0644 /etc/logrotate.d/example.log
Vous pouvez utiliser dans la même ligne la liste de fichiers: file1 file2 file3. Regardez la page de man de logrotate ou http://www.techrepublic.com/article/manage-linux-log-files-with-logrotate/ pour plus d'exemples.
La commande logrotate
/etc/logrotate.conf peut être lancée manuellement,
cependant, la commande devrait être lancée quotidiennement.
D'autres commandes utiles sont logrotate -d /etc/logrotate.conf
pour le débogage et logrotate -f
/etc/logrotate.conf pour forcer les commandes à
être lancée immédiatement. En combinant avec les options
-df
, vous pouvez déboguer les effets
des commandes forcées. Pendant le débogage, la commande est
seulement simulée, pas vraiment lancée, donc, éventuellement des
erreurs qui n'existent pas apparaissent, quand des fichiers
intermédiaires sont attendus, car ils ne sont pas réellement créés.
Pour initialiser Fcron-3.2.0 pour lancer logrotate ... quotidiennement à 3 h 00, le crontab de root doit être édité pour ajouter :
0 3 * * * /usr/sbin/logrotate /etc/logrotate.conf
Last updated on 2017-08-21 00:06:11 +0200