Nom du service
anacron
Cron contre Anacron
Semblable au service cron, le service anacron exécute des applications ou des scripts à des heures et des dates spécifiques. Cela permet un fonctionnement fiable du système sans surveillance - les événements planifiés ne sont pas manqués si le système tombe en panne - au lieu de cela, ils sont exécutés dès que possible après leur heure planifiée. Les candidats à une action anacron sont souvent des activités d'administration système, telles que la rotation des journaux, qui doivent être effectuées, même en retard.
Contrairement au service cron, anacron ne manquera pas l'exécution d'une tâche planifiée, même si le système est éteint. L'activité sera exécutée lors de la prochaine disponibilité du système. Cela fait d'anacron le choix privilégié pour lancer des tâches d'administration système essentielles telles que la sauvegarde ou la récupération d'espace disque.
Les emplois sont généralement divisés en trois classes - quotidiennes, hebdomadaires et mensuelles. Les scripts de contrôle sont des lignes de commande shell ordinaires et sont placés dans le répertoire /etc/cron.[class]. Anacron garantit que chaque tâche est exécutée à l'intervalle planifié ; il n'y a pas de temps spécifique garanti pour l'exécution de ces travaux. Chaque fois que le travail est exécuté, le fichier d'horodatage /var/spool/anacron/cron.[class] est mis à jour. Ce fichier d'horodatage est également le même mécanisme utilisé par anacron pour déterminer si les travaux doivent être exécutés.
Contrôle des services
Pour gérer le service anacron lors de futurs redémarrages et arrêts, utilisez l'outil chkconfig :
# chkconfig anacron on
# chkconfig --list anacron anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig anacron off
Pour contrôler immédiatement le service anacron, utilisez la commande service :
# service anacron Usage: /etc/init.d/anacron {start|stop|restart|condrestart|status}
Le tableau suivant décrit chaque commande disponible :
Commande | Description |
---|---|
démarrer | Invoquez le démon anacron(8) et fournissez le commutateur de ligne de commande "-s". Cela force anacron(8) à exécuter toutes les applications et tous les scripts planifiés en série au lieu de les démarrer tous en parallèle. |
arrêter | Termine le démon anacron(8). Toutes les applications ou tous les scripts actifs ne sont pas affectés et continuent de s'exécuter jusqu'à leur achèvement. |
redémarrer | Équivalent à arrêter puis à démarrer commande. |
condrestart | Ignoré si le service anacron n'est pas en cours d'exécution, sinon équivalent à une commande de redémarrage. Généralement utilisé par les mises à niveau RPM pour éviter de démarrer le service par inadvertance. |
statut | Affiche "anacron est arrêté" sauf si le démon exécute activement des applications ou des scripts planifiés. |
Comment vérifier si anacron est en cours d'exécution
Notez que le comportement non standard de la commande status ne peut pas être utilisé pour déterminer si anacron a été exécuté depuis le dernier démarrage du système. Utilisez plutôt l'horodatage des fichiers dans /var/spool/anacron annuaire. Ces fichiers sont touchés lorsque leur événement correspondant se produit :
# ls -lrt /var/spool/anacron total 12 -rw-------. 1 root root 9 Jul 27 03:12 cron.monthly -rw-------. 1 root root 9 Aug 18 03:10 cron.weekly -rw-------. 1 root root 9 Aug 18 04:09 cron.daily
La sortie ci-dessus indique que le dernier événement mensuel anacron s'est produit à 03h12 le 27 juillet.
Configuration des services
Pour obtenir le service anacron, ainsi que son démon et les fichiers de contrôle associés, installez le package anacron :
# yum install cronie-anacron.x86_64
Les événements reconnus par anacron sont définis dans /etc/anacrontab dossier. Le fichier par défaut est illustré ci-dessous :
# cat /etc/anacrontab SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # Events are defined below 1 65 cron.daily run-parts /etc/cron.daily 7 70 cron.weekly run-parts /etc/cron.weekly 30 75 cron.monthly run-parts /etc/cron.monthly
Les lignes avec la syntaxe VAR=VALUE attribuent des valeurs à l'environnement shell transmis aux scripts et aux applications exécutées lorsqu'un événement se produit. Chaque démon anacron n'a pas d'événements câblés. Au lieu de cela, les événements sont définis explicitement dans le fichier /etc/anacrontab. Par défaut, les événements sont définis tous les un, sept et trente jours. Le format d'une définition d'événement est :
[days] [delay] [job_id] [command] [[arg] ...]
Ici,
jours :définit la fréquence à laquelle la [commande] doit être exécutée, en jours.
délai :le nombre de minutes le jour de l'événement avant que la [commande] ne soit invoquée.
job_id :identifie le travail anacron dans les fichiers journaux et est utilisé pour nommer le fichier d'horodatage créé dans /var/spool/anacron