Ceci est une ancienne révision du document !


anacron (en anglais anachronistic command scheduler ou planificateur de commande « anachronique »)

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 ou 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 à monsieur 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.

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.

Nota : anacron est installé de base sur Ubuntu

 sudo apt-get install anacron
  • sur un système fonctionnant en permanence, c'est cron qui lance anacron à 7h30 chaque jours (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 :

period delay job-identifier command

  • period est un nombre indiquant la fréquence, en jours, avec laquelle la tâche doit être exécutée.
  • delay définit un temps d'attente en minutes.
  • job-identifier permet de décrire la tâche. Cette description apparaît dans les messages d'anacron. Vous ne devez pas utiliser d'espace ni de barres obliques.
  • command est la commande à 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 8-O

 sudo /usr/sbin/anacron -d
anacron n'est pas lancé si l'ordinateur que vous utilisez n'est pas sur secteur. Ainsi, il n'entraîne pas de consommation supplémentaire pour un portable.

TBC (ToBeContinued)

Auteur : sylvainsjc

Contributeurs :

  • anacron.1231521147.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)