Dans le article précédent Je vous ai parlé de cron, un programme système qui exécute des tâches automatiquement à un moment précis. Nous allons maintenant voir comment automatiser les tâches avec Anacron. Anacron nous permet de surmonter l'une des faiblesses de Cron. Si l'ordinateur est éteint au moment où la tâche était censée être effectuée, elle n'est pas exécutée à nouveau jusqu'à ce que la période de l'année suivante arrive et que l'ordinateur soit allumé.
Dans le cas d'Anacron, Lorsque l'ordinateur est rallumé, il exécute les tâches qui étaient en attente.
Comment automatiser les tâches avec Anacron
Lorsque l'ordinateur démarre, Anacron recherche la dernière fois qu'une instruction donnée a été exécutée et la fréquence à laquelle elle doit être exécutée. Tout comme avec Cron, la liste des tâches est enregistrée dans un fichier texte appelé anacrontab, plutôt peu original. Mais il y a une différence importante, Dans ce cas, la date est fixée en établissant un jour, le délai en minutes, l'identifiant du travail et la commande à exécuter.
Anacron vérifie, pour chaque tâche, si elle a été exécutée dans un certain nombre de jours. Ce nombre de jours correspond à la période spécifiée pour ce travail. S'il n'a pas été exécuté, Anacron attend le nombre de minutes requis et le fait. Enregistrez ensuite la date, qui servira d’indication sur le moment où l’exécuter à nouveau.
Nous pouvons trouver anacron par son nom ou dans le package cronie dans les principales distributions.
Pour l'exécuter, nous devons spécifier les paramètres suivants :
-F: Exécution de la tâche même si elle n'est pas à la date indiquée.
-u : Modifie la date des tâches au jour du jour mais ne les exécute pas.
-s : Indique qu'une tâche est exécutée lorsque la précédente est terminée.
-n : C'est comme utiliser les paramètres -fy
-q : Si utilisé avec -d, il empêche l'affichage des messages d'erreur.
-t : Indique à Anacron où trouver la liste des tâches.
-T : Vérifie les paramètres de la liste des tâches et affiche un message d'erreur si nécessaire.
-S Spécifie le répertoire dans lequel les horodatages sont stockés.
Dans le fichier Anacrontab, nous devons ajouter les paramètres suivants
SHELL=/bin/bash: Spécifie que Bash doit être utilisé comme interpréteur de commandes.
MAILTO= Après le signe égal, nous indiquons une adresse email pour nous envoyer le rapport d'erreur. Bien que dans les distributions de bureau, cela ne soit pas nécessaire.
CHEMIN=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: Cela nous permet de ne pas avoir à ajouter l'itinéraire à chaque tâche.
La syntaxe de la tâche Anacrontab est la commande period delay job id où :
Période: Il s’agit de la fréquence à laquelle le travail doit être effectué. Il peut être indiqué sous forme de période (@daily, @weekly ou @monthly pour le jour, la semaine ou le mois) ou avec des chiffres (1 pour le jour, 7 pour la semaine, 30 pour le mois et n'importe quel nombre pour n'importe quelle période de jours).
Délai : Il s'agit du temps à attendre avant de commencer. Elle est exprimée en minutes
ID du travail : C'est un nom attribué à la tâche pour la distinguer des autres
Commande : il s’agit de la commande qu’Anacron doit exécuter à l’heure spécifiée.
Nous devons également créer un répertoire pour exécuter les différentes tâches.
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
Cela crée les répertoires dans lesquels les scripts d'exécution quotidiens, hebdomadaires et mensuels ainsi que le rapport de la dernière exécution d'Anacron seront enregistrés.
Pour lui dire d'utiliser ces dossiers :
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
Nous éditons le fichier de configuration depuis le terminal
nano ~/.local/etc/anacrontab
Nous ajoutons ces lignes :
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Deux autres variables peuvent être configurées
START_HOURS_RANGE : pour indiquer que les tâches doivent démarrer uniquement dans un certain laps de temps.
RANDOM_DELAY : définit le délai aléatoire maximal
Ceci conclut notre bref aperçu de deux outils de ligne de commande utiles pour automatiser les tâches sur nos ordinateurs. Dans les articles suivants, nous verrons qu’il existe des applications graphiques qui nous permettent également de faire la même chose.