home

Logrotate et Crontab

Un 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

Leave a Reply

  • Photos

    • www.flickr.com
      sdubois' photos More of sdubois' photos