Recherche de site Web

Cron Vs Anacron : Comment planifier des tâches à l'aide d'Anacron sous Linux


Dans cet article, nous expliquerons cron et anacron et vous montrerons également comment configurer anacron sous Linux. Nous aborderons également une comparaison de ces deux utilitaires.

Pour planifier une tâche à une heure donnée ou ultérieure, vous pouvez utiliser les commandes « at » ou « batch » et pour configurer des commandes à exécuter de manière répétée, vous pouvez utiliser la commande < les installationscron et anacron.

Cron – est un démon utilisé pour exécuter des tâches planifiées telles que des sauvegardes système, des mises à jour et bien d'autres. Il convient à l'exécution de tâches planifiées sur des machines qui fonctionneront en continu 24h/24 et 7j/7, telles que des serveurs.

Les commandes/tâches sont scriptées dans des tâches cron planifiées dans des fichiers crontab. Le fichier crontab du système par défaut est /etc/crontab, mais chaque utilisateur peut également créer son propre fichier crontab qui peut lancer des commandes aux moments définis par l'utilisateur.

Pour créer un fichier crontab personnel, tapez simplement ce qui suit :

crontab -e

Comment configurer Anacron sous Linux

Anacron permet d'exécuter des commandes périodiquement avec une fréquence définie en jours. Son fonctionnement est un peu différent de cron ; suppose qu’une machine ne sera pas allumée en permanence.

Il est approprié pour exécuter des tâches planifiées quotidiennes, hebdomadaires et mensuelles normalement exécutées par cron, sur des machines qui ne fonctionneront pas 24 heures sur 24, 7 jours sur 7, telles que les ordinateurs portables et les ordinateurs de bureau.

En supposant que vous ayez une tâche planifiée (telle qu'un script de sauvegarde) à exécuter à l'aide de cron tous les minuit, éventuellement lorsque vous dormez, et que votre ordinateur de bureau/ordinateur portable est éteint à ce moment-là. Votre script de sauvegarde ne sera pas exécuté.

Cependant, si vous utilisez anacron, vous pouvez être assuré que la prochaine fois que vous rallumerez l'ordinateur de bureau/ordinateur portable, le script de sauvegarde sera exécuté.

Comment fonctionne Anacron sous Linux

Les tâches anacron sont répertoriées dans /etc/anacrontab et les tâches peuvent être planifiées en utilisant le format ci-dessous (les commentaires à l'intérieur du fichier anacrontab doivent commencer par #).

period   delay   job-identifier   command

À partir du format ci-dessus :

  • période : il s'agit de la fréquence d'exécution des tâches spécifiée en jours ou sous la forme @daily, @weekly ou @monthly une fois par jour, semaine ou mois. Vous pouvez également utiliser des nombres : 1 – quotidien, 7 – hebdomadaire, 30 – mensuel et N – nombre de jours.
  • délai : il s'agit du nombre de minutes à attendre avant d'exécuter une tâche.
  • job-id : il s'agit du nom distinctif du travail écrit dans les fichiers journaux.

Pour afficher des exemples de fichiers, tapez :

ls -l /var/spool/anacron/

total 12
-rw------- 1 root root 9 Jun  1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly
  • commande – c'est la commande ou le script shell à exécuter.
Voici ce qui se passe pratiquement :
  • Anacron vérifiera si un travail a été exécuté dans le délai spécifié dans le champ période. Sinon, il exécute la commande spécifiée dans le champ de commande après avoir attendu le nombre de minutes spécifié dans le champ de délai.
  • Une fois le travail exécuté, il enregistre la date dans un fichier d'horodatage dans le répertoire /var/spool/anacron avec le nom spécifié dans le champ job-id (nom du fichier d'horodatage).

Regardons maintenant un exemple. Cela exécutera le script /home/aaronkilik/bin/backup.sh tous les jours :

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh

Si la machine est éteinte lorsque la tâche backup.sh est censée s'exécuter, anacron l'exécutera 10 minutes après la mise sous tension de la machine sans avoir à attendre 7 jours supplémentaires.

Il y a deux variables importantes dans le fichier anacrontab que vous devez comprendre :

  • START_HOURS_RANGE – ceci définit la plage horaire dans laquelle les tâches seront démarrées (c'est-à-dire exécuter les tâches pendant les heures suivantes uniquement).
  • RANDOM_DELAY – ceci définit le délai aléatoire maximum ajouté au délai défini par l'utilisateur d'une tâche (par défaut, il est de 45).

Voici à quoi pourrait ressembler votre fichier anacrontab.

/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
HOME=/root
LOGNAME=root

These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh                                                                      

Ce qui suit est une comparaison de cron et anacron pour vous aider à comprendre quand utiliser l'un ou l'autre.

It’s a daemon

Ce n'est pas un démon

Appropriate for server machines

Convient aux ordinateurs de bureau/portables

Enables you to run scheduled jobs every minute

Vous permet uniquement d'exécuter des tâches planifiées quotidiennement

Doesn’t executed a scheduled job when the machine if off

Si la machine est éteinte lorsqu'une tâche planifiée est due, elle exécutera une tâche planifiée lors de la prochaine mise sous tension de la machine.

Can be used by both normal users and root

Ne peut être utilisé que par root, sauf indication contraire (activé pour les utilisateurs normaux avec des configurations spécifiques)

La principale différence entre cron et anacron est que cron fonctionne efficacement sur des machines qui fonctionneront en continu alors que anacron est prévu. pour les machines qui seront mises hors tension dans un jour ou une semaine.

Si vous connaissez un autre moyen, partagez-le avec nous en utilisant le formulaire de commentaires ci-dessous.