OVH Cloud OVH Cloud

logrotate

2 réponses
Avatar
Gauthier
Bonjour à tous,

Pourrait-on m'expliquer le comportement de syslog et logrotate qui suit:

Je souhaite que les rotations des logs se fassent en fonction de la taille
des fichiers, sauf pour le mail pour lequel je souhaiterais avoir un fichier
par mois. J'ai donc dans mon /etc/logrotate.conf


#weekly
size=1M

# keep 4 weeks worth of backlogs:
rotate 4

# create new (empty) log files after rotating old ones:
create

/var/log/maillog {
monthly
rotate 6
}

La rotation des logs s'effectue via la crontab de root, que je n'ai pas
modifiée:

# Run daily cron jobs at 4:40 every day:
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
#
# Run weekly cron jobs at 4:30 on the first day of the week:
30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null
#
# Run monthly cron jobs at 4:20 on the first day of the month:
20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null

Bizarrement, je constate ceci : la création du nouveau maillog a eu lieu
le 1 juin à 4h40, soit l'heure du cron.daily (?), et depuis, ce fichier
reste vide, alors que les entrées relatives au mail continuent de s'ajouter
au maillog.1.

root:/var/log# ls -l /var/log/maillog*
-rw-r--r-- 1 root root 0 2006-06-01 04:40 /var/log/maillog
-rw-r--r-- 1 root root 3668733 2006-06-03 11:30 /var/log/maillog.1
-rw-r--r-- 1 root root 13393205 2006-05-09 04:00 /var/log/maillog.2
-rw-r--r-- 1 root root 11019482 2006-04-07 10:50 /var/log/maillog.3
-rw-r--r-- 1 root root 7908868 2006-03-02 08:30 /var/log/maillog.4
-rw-r--r-- 1 root root 0 2006-01-01 04:40 /var/log/maillog.5
-rw-r--r-- 1 root root 9565191 2006-02-04 11:40 /var/log/maillog.6

Ce PC fonctionne avec une slackware 10.0.0, logrotate-3.6.8,
dcron (Dillon's Cron daemon) 2.3.3

Merci d'avance,



--
^^ Gauthier
(_____/°°-ç
| \_`-"
)/@mmm||
\nn \nn

2 réponses

Avatar
Calimero
Gauthier wrote:

Bizarrement, je constate ceci : la création du nouveau maillog a eu lieu
le 1 juin à 4h40, soit l'heure du cron.daily (?), et depuis, ce fichier
reste vide, alors que les entrées relatives au mail continuent de s'ajouter
au maillog.1.


A priori, il faut dire à ton daemon de mail de fermer/rouvrir son
fichier de log.

Sur une Debian, le "script" de postrotate pour Debian fait un reload
d'Apache par exemple pour que les fichiers de logs soient fermés/rouverts:

postrotate
if [ -f /var/run/apache.pid ]; then
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d apache reload > /dev/null;
else
/etc/init.d/apache reload > /dev/null;
fi;
fi;


Il faut donc voir la méthode à appliquer selon ton daemon: un simple
kill -s SIGUP sur le pid trouvé dans le pidfile, un reload si tu as
déjà des scripts fournis pour un rechargement "propre", ...

--
@+
Calimero

Avatar
gvdmoort
A priori, il faut dire à ton daemon de mail de fermer/rouvrir son
fichier de log.



Merci pour cette piste ; mais un reload voire un restart de Postfix
n'ont rien changé. Il a été nécessaire de faire un restart du
daemon syslog, à partir de quoi les messages ont bien été dirigés
vars maillog et non plus maillog.1

--
@+
Calimero


Cordialement,

G.