web-dev-qa-db-fra.com

Comment définir la taille du journal système

Mon serveur se vide en raison des fichiers journaux système volumineux. J'ai entendu dire que nous pourrions limiter la taille du journal système en ajoutant une telle ligne size 100m dans le fichier /etc/logrotate.d/rsyslog pour le faire.

Maintenant, mon /etc/logrotate.d/rsyslog devient comme ci-dessous:

/var/log/syslog
{
        rotate 7
        daily
        size 100m
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Ma question est la suivante: comment size 100m fonctionne-t-il avec rotate 7?

Sans size 100m, rotate 7 et daily signifient que le journal système sera soumis à une rotation quotidienne et qu'il conservera 7 jours d'arriérés. Maintenant, si j’ajoute size 100m et que certains journaux quotidiens sont plus volumineux que 100m, le disque tournera-t-il immédiatement? Si tel est le cas, cela signifie-t-il que je peux accumuler 7 arriérés par jour si certains journaux quotidiens augmentent trop (plus que 700mb)?

2
Yves

J'espère que vous vous rendrez compte que vous utilisez le mécanisme logrotate qui ne contrôle PAS la taille du fichier syslog, il ne le fera que chaque jour où vous exécuterez logrotate, prenez le fichier /var/log/syslog actuel et s'il dépasse 100 Mo, compresser et sauvegarder le résultat. Un nouveau fichier /var/log/syslog est ensuite créé et commence à recevoir des messages à partir de ce moment.

1
mdpc