« Cron », vous avez dit « cron » ?
Les systèmes d'exploitation comme Unix ou encore Linux disposent d’un programme spécifique baptisé « Cron ».
Cron permet de programmer facilement certaines de vos tâches. En effet, il s’agit d’une commande qui vous aide à exécuter des scripts ou des logiciels, de manière automatique.
Il vous suffit pour cela d’indiquer au préalable, la date et l’heure souhaitées.
Comment le concept « Cron » a-t-il vu le jour dans le domaine informatique ?
Ce programme informatique tire son origine des systèmes d’exploitation à l’instar de Berkeley ou encore AT&T.
Ces derniers ont par la suite été standardisés grâce aux efforts de Paul Vixie. Initialement, l’objectif était de bénéficier d’un service disponible chaque minute capable d’examiner un ensemble de documents enregistrés sous un répertoire précis.
Le concept devait ainsi identifier si les commandes shell, pouvaient être mises à exécution au cours de cette intervalle de temps.
Cron : d’où nous vient cette dénomination au juste ?
Cron n’est autre qu’un diminutif de « crontab ».
Une association de deux termes distincts « chrono » et « table ». Ce qui fait ainsi référence à une table de planification. Une fonctionnalité qui vous sera primordiale pour vous permettre de mieux vous organiser au quotidien.
En effet, il n’est jamais évident de se retrouver facilement dans nos tâches routinières. La mission demeure encore plus compliquée lorsque ces fonctions sont nombreuses et variées.
Un exemple concret sur son intérêt ?
À titre d’illustration, cron est capable de jouer un fichier de type ogg chaque matin, à partir de sept heures, sauf en week-end. Le tout sous les résonnances de votre mélodie préférée pour un réveil en douceur et motivant.
De quoi vous booster à affronter la journée avec une bonne dose de détermination au quotidien.
Comment Cron fonctionne-t-il ?
Cron est catégorisé sous la famille des daemon dans le langage informatique. Ce qui équivaut à un programme capable d’opérer en arrière-plan.
En d’autres termes, le service cron ne s’exécute qu’une fois l’horaire et la date indiqués, arrivés à terme. Il migre de ce fait vers un fichier de personnalisation, baptisé « crond ».
À l’issue de chaque intervention, le logiciel se remet en mode veille et attend l’évènement suivant avant d’opérer à nouveau. C’est le compte root qui se charge de faire décoller le programme. Ce qui lui permet de s’accommoder parfaitement avec votre profil.
Une option intitulée « kill » vous aide cependant à relancer automatiquement la commande. Une fonctionnalité qui est disponible sur certains Unix.
La commande « crontab » : à quoi vous sert-elle ?
Crontab est la dénomination donnée aux logiciels sous Unix et Linux, favorisant la programmation des tables de personnalisation du programme Cron.
Ce sont ces tables qui indiquent les activités à réaliser, avec leur horaire d’intervention. Le plus ? Vous avez la possibilité de planifier leur périodicité. Ce qui d’ailleurs vaut à ce programme son nom en anglais « cron job ».
La commande « crontab » : comment opère-t-elle ?
La commande crontab vous permet à tout moment de rectifier vos fichiers.
À ce propos, le logiciel dispose d’une fonctionnalité permettant d’examiner la syntaxe, avant d’actualiser les modifications. De quoi vous éviter les mauvaises surprises. Par défaut, le fichier est stocké dans /var.
À titre d’exemple : /var/spool/cron/tabs/ (SuSE GNU/Linux).
En conséquence, si vous utilisez root sur un appareil de type Debian, la table cron sera sauvegardée dans /var/spool/cron/crontabs/root.
👉 Il faut savoir que la plupart des systèmes Linux possèdent une table cron supplémentaire qui est rassemblée dans /etc/crontab.
Pour des sous-parties précises du système, à l’instar des mises à jour de fichiers, vous disposez de tables cron spécifiques. Ces dernières se trouvent dans :
- /etc/cron.d
- /etc/cron.hourly
- /etc/cron.daily
- /etc/cron.weekly
- et /etc/cron.monthly.
Utilisation de la commande « crontab »
La table cron vous indiquera une ligne de commande précise, que voici : « crontab -l ».
Attention, vous ne pourrez cependant pas visionner la table centralisée à partir de cette commande. Pour modifier la table cron, vous aurez besoin d’exécuter la commande : « $ crontab -e ». Ceci vous aidera à activer l’éditeur par défaut, donnant accès à la table actuelle.
Remplacement et suppression de table
Il vous est parfaitement possible de substituer la table courante par une autre de votre choix, avec crontab.
La table de remplacement est accessible à l’intérieur d’un fichier en paramètre : « $ crontab fichier-contenant-la-nouvelle-table.txt ». D’autre part, pour éliminer définitivement un contenu de la table cron (sans confirmation), vous aurez simplement à entrer la commande « $ crontab -r ».
L’application anacron : parfaite pour les tâches n’opérant pas 24h/24
Au même titre que Cron, Anacron permet de déclencher automatiquement des tâches selon des laps de temps préalablement programmés.
👉 La différence se situe au niveau de leur utilisation.
En effet, Cron s’adapte plutôt aux appareils opérant de manière permanente, à l’instar des serveurs. Anacron de son côté, est idéale pour les appareils fonctionnant à fréquence discontinue (Exemple : les PC).
De manière plus précise, Cron exécute une tâche à l’horaire prédéfinie (Exemple : le 14 Octobre 2020 à 17h45). Si l’appareil n’est pas en marche à ce moment précis, la tâche ne sera pas accomplie, même après avoir redémarrer la machine. Elle s’évapore tout simplement. D’où tout l’intérêt d’Anacron.
Comment Anacron opère-t-elle ?
Anacron se base sur des informations d’horaire relatives -> exemple : une fois par semaine.
En d’autres termes, si vous avez sollicité une tâche hebdomadaire et que votre ordinateur n’est en marche qu’après quinze jours, Anacron réalisera votre retard. En conséquence, l’application exécutera la tâche à l’issue du démarrage de votre machine.
Cette application, fondée par Christian Schwarz se lance automatiquement à chaque ouverture d’Ubuntu.
Par la suite, le logiciel contrôle si une ou des tâches n’ont pas encore été accomplies, avant de les exécuter. Il s’inactive ensuite jusqu’au prochain démarrage ou à défaut jusqu’à 7h30 du matin, avec le paramétrage initial Ubuntu.
À noter
En dépit du fait qu’Anacron convient plutôt aux PC, vous pouvez donc en faire usage sur des serveurs Ubuntu. L’inverse néanmoins demeure sans intérêt.