Il y a un moyen de faire ça?
Il y a un moyen de faire ça?
Réponses:
Dans votre logrotate.conf (ou le fichier logrotate.d équivalent), changez la ligne qui dit "
rotate 10
(votre numéro peut être différent) à un plus grand nombre. Cela lui dira de conserver autant de jours de journaux. Vous pouvez le faire 36500, ce qui vous durerait 100 ans.
Je cherchais cela pour faire la rotation de mes sauvegardes de base de données quotidiennement, hebdomadairement et mensuellement; donc je fais tourner le fichier tous les jours mais garde le fichier pour faire la rotation hebdomadaire, et même pour la rotation annuelle.
Utilisez l'option de copie. Du manuel:
copy
copier Faites une copie du fichier journal, mais ne changez pas du tout l'original. Cette option peut être utilisée, par exemple, pour créer un instantané du fichier journal actuel, ou lorsqu'un autre utilitaire doit tronquer ou analyser le fichier. Lorsque cette option est utilisée, l'option de création n'aura aucun effet, car l'ancien fichier journal reste en place.
Mettre de côté le fait que la rotation implique la suppression ... ;-)
Il semble que vous pouvez simplement ajouter le mot «copier» au fichier approprié (probablement dans /etc/logrotate.d). Par exemple, un script logrotate apache2 ressemblerait à ceci:
/var/log/apache2/*.log { hebdomadaire missingok faire pivoter 52 compresse délai de compression notifempty copie sharedscripts post-rotation if [-f "`. / etc / apache2 / envvars; echo $ {APACHE_PID_FILE: - / var / run / apache2.pid} `"]; puis /etc/init.d/apache2 reload> / dev / null Fi script de fin }
Essayez cela et voyez s'il fait ce que vous voulez.