
Le nommage des fichiers de log n’est pas toujours très explicite concernant les jours concernés dans le fichier de log.
Par exemple, sous apache, ils seront nommés access_log.1.gz alors qu’il serait plus pratique d’avoir la date comme nommage comme par exemple access_log-20060228.gz
Voici comment procéder :
Ajouté soit dans le /etc/logrotate.conf soit dans un fichier mis dans le répertoire /etc/logrotate.d/ :
Exemple avec le fichier /etc/logrotate.d/apache2 sous Debian :
/var/log/httpd/access_log { daily rotate 300 compress notifempty create 640 root adm sharedscripts dateext postrotate /etc/init.d/httpd reload > /dev/null endscript }
Et oui ! Cette fonction est inclu dans le logrotate cétipabo tout ça
L’option dateext est notre ami
dateext : Archive old versions of log files adding a daily extension like
YYYYMMDD instead of simply adding a number.
/var/log/httpd/access_log { daily rotate 300 compress notifempty create 640 root adm sharedscripts dateext postrotate /etc/init.d/httpd reload > /dev/null endscript }
Article lu 2292 fois
Si je comprend bien ce que tu veux faire, sache qu’il existe un paramètre de logrotate qui te permet de faire cela tout seul: dateext!
dateext: Archive old versions of log files adding a daily extension like YYYYMMDD instead of simply adding a number.
Vi j’avais vu cette option bien après cette article et je n’ai pas eu le temps de mettre à jour !
Donc je mets un jour et merki pour l’info
dateext : permet de mettre la date du jour pas la date de la veille. exemple si la rotation a lieu le 13 juillet à 4h du matin le fichier archive compressé aura la date du 13 juillet au lieu du 12. Exemple :
[moi@ds01 ~]$ ls -lashtr /var/adm/messages*
876K -rwxr–r– 1 root root 871K Jul 12 04:03 /var/adm/messages-20090712.gz
8.0K -rwxr–r– 1 root root 7.2K Jul 13 04:03 /var/adm/messages-20090713.gz
36K -rwxr–r– 1 root root 31K Jul 13 09:45 /var/adm/messages