Anacron
peut être utilisé pour exécuter des commandes périodiquement, avec une
périodicité donnée en jours. À la différence de
cron(8),
il ne suppose pas que la machine tourne en permanence. En conséquence, il
peut être utilisé sur des machines qui ne tournent pas 24 heures sur 24,
pour contrôler journellement, hebdomadairement ou mensuellement des tâches
qui sont ordinairement contrôlées par
cron.
Quand il fonctionne, Anacron lit une liste de tâches définies dans un fichier
de configuration, normalement
/etc/anacrontab
(voir
anacrontab(5)). Ce fichier
contient la liste des tâches qu'Anacron contrôle. Chaque ligne de la liste
précise une période en jours, un délai en minutes, un identifiant unique
pour la tâche, et une commande d'un interpréteur de commandes.
Pour chaque tâche, Anacron vérifie si elle a été lancée dans les n derniers
jours, n étant la périodicité définie pour cette tâche. Sinon, Anacron lance
la commande relative à la tâche, après avoir attendu pendant le nombre de
minutes défini comme paramètre de délai.
Quand la commande est terminée, Anacron enregistre la date dans un fichier
dateur spécial pour cette tâche, de sorte qu'il peut savoir quand la
lancer à nouveau. Seule la date est utilisée pour les calculs de temps.
L'heure n'est pas utilisée.
Lorsqu'il n'y a plus de tâches à lancer, Anacron s'arrête.
Anacron considère uniquement les tâches dont l'identifiant, défini dans
anacrontab, est identique à n'importe lequel des arguments
job
de la ligne de commande.
Les arguments
job
peuvent être des combinaisons de caractères génériques (il faut
s'assurer qu'elles sont protégées de votre interpréteur de commandes
par des guillemets adéquats). Ne pas préciser d'argument
job
est équivalent à préciser « * » (Cela veut dire que toutes les tâches
seront considérées).
À moins que l'option
-d soit précisée (voir plus bas), Anacron
s'exécute en arrière-plan lorsqu'il démarre, et le processus parent
s'arrête immédiatement.
À moins que les options
-s ou
-n soient précisées, Anacron
démarre immédiatement les tâches lorsque leur délai est expiré.
L'exécution des différentes tâches est complètement indépendante.
Si une tâche génère une sortie sur sa sortie standard ou sa sortie
d'erreurs, cette sortie est envoyée via un message à l'utilisateur
utilisant Anacron (normalement, le super-utilisateur).
Les messages d'information sur ce qu'Anacron est en train de faire
sont envoyés à
syslogd(8) par l'utilitaire
cron,
priorité
notice. Les messages d'erreur sont envoyés avec la
priorité
error.
Les tâches « actives » (par ex. les tâches qu'Anacron a déjà décidé
de lancer et dont il attend que le délai soit expiré, et les tâches
qui sont en train d'être exécutées par Anacron), sont « verrouillées »,
afin que d'autres copies d'Anacron ne les lancent pas en même temps.
Anacron n'efface jamais les fichiers dateurs. Effacer manuellement
les fichiers non utilisés.
Anacron utilise jusqu'à deux descripteurs de fichiers pour chaque
tâche active. Il est possible qu'il manque de descripteurs de
fichiers s'il y a plus d'environ 125 tâches actives
(avec des kernels normaux).
Envoyer les messages de commentaires, de suggestions et de rapports
de bogues à Sean 'Shaleh' Perry <shaleh@(debian.org|valinux.com)>.