Ceci est une ancienne révision du document !
anacron (en anglais anachronistic command scheduler ou planificateur de commande « anachronique »)
A quoi ça sert ?
En des temps préhistoriques, les système unix utilisaient cron pour permettre l'exécution de tâches de maintenance : suppression de fichiers inutilisés, archivage de journaux, indexation de fichiers, etc. cron permet (toujours) de programmer ces travaux à une heure où la charge système est faible, de préférence pendant la nuit. Si le système est stoppé au moment de l'exécution de la tâche, celle-ci passe à la trappe.
Avec l'apparition et la démocratisation de l'excellent système Linux (et Ubuntu) pour le commun des mortels, il devient rare de laisser son PC allumé la nuit pour permettre à cron de nous maintenir notre système…
anacron est donc né pour permettre l'exécution de tâches sans nécessité de laisser la machine allumée 24h/24. Son créateur s'appelle Christian Schwarz.
Principe
Notez bien qu'anacron n'est pas du tout destiné à remplacer cron, il est complémentaire et il coexiste avec lui…
anacron utilise des indications de temps relatives (« une fois par jour / par semaine / par mois ») au lieu de références temporelles absolues (« le 14 janvier 2008 à 15h 30 »). De la sorte, même si vous « manquez » un moment ou une date particulière où l'exécution d'un « job » était prévue, celui-ci sera tout de même exécuté peu de temps après le prochain démarrage du système.
Installation
Nota : anacron n'est pas installé de base sur Ubuntu
sudo apt-get install anacron
Fonctionnement
- sur un système fonctionnant en permanence, c'est cron qui lance anacron à 7h30 chaque jour (voir le fichier /etc/cron.d/anacron)
- sur un système ne tournant pas en permanence, anacron est lancé au démarrage car configuré en tant que service (On le retrouve donc dans /etc/init.d)
- anacron recherche les « fichiers dateurs » (anglais timestamps) correspondant à ses différents jobs dans /var/spool/anacron
- si, d'après un des fichiers dateurs, un job est en attente, anacron le lance
- anacron met à jour le fichier dateur du job en question.
- une fois son travail terminé, anacron s'arrête en attendant la prochaine sollicitation. Il n'y a pas de deamon "anacron" consommant de la mémoire.
Le fonctionnement d'anacron est contrôlé par le fichier /etc/anacrontab.
Inspectez-le en tapant :
cat /etc/anacrontab
Chaque ligne du fichier de configuration correspond à une tâche selon le schéma suivant :
intervalle délai étiquette commande
- 1ère colonne, intervalle : exprimé en jours, indique l'intervalle de temps entre 2 exécution d'une tâche.
- 2ème colonne, délai : exprimé en minutes, c'est le délai entre 2 tâches exécutées par anacron, pour éviter qu'elles ne s'exécutent en même temps.
- 3ème colonne, étiquette : commentaire ajouté pour les logs de anacron
- 4ème colonne, commande : tâche à exécuter
Par défaut, voici un exemple des lignes déjà configurées :
# /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # These replace cron's entries 1 5 cron.daily nice run-parts --report /etc/cron.daily 7 10 cron.weekly nice run-parts --report /etc/cron.weekly @monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly
Options de lancement
-f : Force l'exécution des tâches, en ignorant les fichiers dateurs.
-u : Met à jour à la date courante les fichiers dateurs des tâches, mais ne lance rien.
-s : Met en série l'exécution des tâches. Anacron ne lancera pas une nouvelle tâche avant que la précédente ne soit terminée.
-n : Lance les tâches tout de suite. Ignore les définitions de délai dans le fichier /etc/anacrontab Cette option implique -s.
-d : N'exécute pas en arrière-plan. Dans ce mode, Anacron enverra les messages d'information vers la sortie d'erreurs, ainsi qu'à syslog. La sortie des tâches est envoyée via un message comme d'habitude.
-q : Supprime les messages destinés à la sortie d'erreurs. Applicable seulement avec -d.
-t anacrontab : Utilise le fichier désigné anacrontab, à la place de celui par défaut.
-V : Affiche l'information de version, puis s'arrête.
-h : Affiche un court message d'utilisation, puis s'arrête.
Lancez anacron - pour voir
sudo /usr/sbin/anacron -d
Bon à savoir
TBC (ToBeContinued)
Auteur : sylvainsjc
Contributeurs :