Logrotate et Crontab
Tuesday, January 24th, 2006Un petit point sur ces deux outils :
logrotate
——————————
Programme lancé à période définie qui permet de séparer le journal en nombre fixe de tomes, par jour, par semaine ou par mois, la configuration de base est dans /etc/logrotate.conf
Logrotate déplace le fichier journal en lui rajoutant le suffixe .1 et renomme les précédents en incrémentant leur suffixe (.2, .3, etc…).
Voici la structure type dans /etc/logrotate.conf:
/chemin_absolu/fichier {
paramètre1
paramètre2
…
}
et la liste des paramètres possibles (cf man logrotate) :
- weekly ou daily ou monthly: Intervalle, ici hebdomadaire.
- rotate 4: Nombre de tomes à conserver, ici 4. Le dernier fichier aura le suffixe .4. Donc une mémoire de quatres semaines.
- compress: Demande la compression des tomes.
- missingok: Ne panique pas s’il manque le fichier à traiter.
- postrotate … endscript: Commandes à effectuer après le traitement.
Pour ne pas avoir un /etc/logrotate.conf trop important , il est possible de séparer dans des fichiers différents ces instructions (généralement portant le nom de l’application). Ces fichiers sont par défaut dans le répertoire /etc/logrotate.d.
Pour vérifier le configuration en cas de modification de /etc/logrotate.conf, il faut taper logrotate -v /etc/logrotate.conf
cron
—————————-
La configuraton se fait dans /etc/crontab une ligne par règle suivant cette syntaxe
minutes heures jourdumois mois jourdelasemaine propriétaire commande
par exemple,
tous les 13h13 du 29/02 lorsque cette date tombe le vendredi (5eme jour de la semaine), la commande est lancée en tant que ‘user’:
13 13 2 29 5 user commande
Rem : jour 0 = Dimanche
On peut uitiliser le signe * pour renvoyer à toutes les valeurs possibles
Tous les 1er jour de semaine tous les 2 mois à 12h00:
0 12 * */2 1 user commande
On conseille ici aussi de séparer les commandes en plusieurs fichiers pour plus de clarté.
On peut utiliser ce type de régle dès lors :
55 5 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
Cette règle execute en root tous les fichiers executables contenus dans le repertoire /etc/cron.daily tous les jours à 5h55 (c’est là que l’on trouve les scripts logrotate).
(chmod +x fichier pour les rendre exécutables)
Rem : Le démon cron se charge de lancer par exemple logrotate tous les jours.
Rem2 : on peut ajouter ses petits cron avec crontab -e


