Sur troisième partie de cette série d'articles dans lesquels nous utilisons les sept péchés capitaux comme excuse pour connaître les outils et programmes pour Linux, nous commenterons davantage la configuration cron et nous parlerons d'une alternative
cron est un programme autonome permettant d'exécuter régulièrement des tâches de maintenance du système. Les tâches sont spécifiées dans un fichier texte appelé crontab.
À propos de cron et d'anachron
Dans les articles précédents, nous avons discuté de la structure des instructions à donner à cron. Nous allons maintenant voir un moyen simple d'écrire le fichier crontab.
La commande crontab –e
génère un fichier crontab presque vide. Il n'y a que quelques lignes précédées du signe dièse (#). Ce signe indique qu'il s'agit de commentaires et qu'il ne faut pas essayer de les exécuter. Nous pouvons les supprimer ou les laisser.
Il faudrait commencer par ajouter ces lignes :
SHELL=/bin/bash
: Spécifie que le shell à utiliser pour exécuter les commandes est Bash. Un shell est un interpréteur de commandes qui permet à l'utilisateur d'accéder aux ressources système.
MAILTO=una_dirección_de_mail:
Dans les distributions côté serveur, il est courant de spécifier une adresse e-mail pour que les administrateurs reçoivent les rapports de bogues. C'est pourquoi c'est l'option que cron utilise par défaut pour les envoyer. Sur les ordinateurs de bureau, cette adresse n'est pas configurée, nous pouvons donc le faire avec cette variable.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
: Cela nous évite d'avoir à spécifier le chemin de l'exécutable pour chaque commande.
anachron
Cron est le plus connu des outils d'automatisation, mais il a l'inconvénient que, si l'ordinateur est éteint ou suspendu, la tâche n'est pas exécutée jusqu'à ce qu'il revienne à la date prédéfinie. Anacron. Au contraire, il veille à ce que lors de la reprise de la session, les tâches en attente soient exécutées. Le programme découvre quand une instruction a été exécutée pour la dernière fois et combien de fois on lui a dit qu'elle devait être exécutée. La liste des travaux en attente est enregistrée dans un fichier texte appelé dans ce cas anacrontab. Contrairement à cron et crontab, la date est définie en définissant un jour, un délai en minutes, un identifiant de tâche et la commande à exécuter.
Pour chaque job, Anacron vérifie si ce job a été exécuté dans les n derniers jours, où n est la période spécifiée pour ce travail. Sinon, Anacron exécute la commande shell du travail, après avoir attendu le nombre de minutes spécifié comme paramètre de délai.
Une fois la commande terminée, Anacron enregistre la date dans un fichier d'horodatage spécial pour cette tâche, afin que vous sachiez quand l'exécuter à nouveau. Seule la date est utilisée pour les calculs de temps. Le temps n'est pas utilisé.
Nous pouvons trouver anacron sous ce nom ou dans le cadre d'un autre package appelé cronie dans les référentiels des principales distributions Linux.
Paramètres Anacron
-F: Exécute la tâche qu'il s'agisse ou non de la date indiquée.
-u : Modifie la date des travaux par celle en cours, mais ne les exécute pas.
-s : Définit qu'une tâche ne sera démarrée que lorsque la précédente sera terminée.
-n : Exécutez le travail quelle que soit la date. Activez le paramètre -s.
-ré: Il ne s'exécute pas en arrière-plan et les erreurs sont générées sous la forme d'un message d'erreur standard. Le résultat du travail est envoyé par courrier. Dans le cas d'un système de bureau, l'adresse e-mail est configurée comme indiqué ci-dessus.
-q : Empêche la génération de messages d'erreur standard. Il est utilisé avec -d.
-t : Si vous souhaitez utiliser une liste de tâches différente de celle créée par défaut, ce paramètre indique à anacron laquelle utiliser.
-T : Testez la liste des tâches pour voir si elle est configurée correctement. Si ce n'est pas le cas, il génère un message d'erreur.
-S Stocke les horodatages dans un répertoire spécifié pour une utilisation par anacron.
Dans le prochain article nous verrons comment configurer correctement anacrontab