Les différentes versions du service de tâches planifié CRON

Suite a mon article «Comment automatiser une tâche avec CRON en utilisant Vim» je me suis venu aux questions sur les différences essentielles entre les versions de CRON.

Le concept de CRON est, un «lanceur de commandes» planifié pour les systèmes UNIX. Le nom est inspiré du dieu grec Chronos.

Ayant déjà utilise Gentoo Linux j’avait vu qu’il était possible d’utiliser plus d’une version de CRON mais je ne m’était jamais penché sur les différences. Je l’ai fait aujourd’hui.

Une question de choix et de distribution

Généralement chaque distribution de système d’exploitation UNIX (Linux, Unix, Qnx, etc) a son lot d’outils standards dont CRON fait partie. Chaque éditeur de distribution choisit sa version préférée mais permet d’interchanger (avec Alternatives sous Debian, par exemple).

Versions de CRON

Anacron

La différence d’Anacron avec cron (traditionnel) est le fait qu’Anacron ne roule pas en permanence comme un démon en arrière plan. Il est idéal sur des système qui ne roule pas nécessairement 24 heures par jour ou avec peu de ressources processeur.

site officiel

vixie-cron

La version de cron la plus utilisée (selon mon expérience, notamment sous les installation par défaut de Ubuntu, Debian et Red Hat et CentOS)

site officiel

bcron

L’auteur a crée cette version car il avait besoin de précision concernant les délais entre les commandes et les changements de saisons (Heure d’été).

J’ai remarqué plusieurs autres outils intéressant que l’auteur a publié. Je l’ai ajouté a mes marque-pages.

fcron

L’auteur a crée cette version de cron dans l’optique que la machine peut ne pas être allumée 24/24 et 7 jours/7. fcron se base plutôt sur le temps que le système fonctionne (le «uptime») plutot qu’un moment précis. L’auteur dit que fcron veut remplacer Vixie-cron et anacron mais en mieux.

Le genre de tâche qu’on peut faire est:

  • Lance une commande aux chaque 3heures que le système est allumé
  • Lance une commande au moins une fois entre 3h00 am et 6h00 am tout les jours.

site officiel

incron

incron est une fonctionnalité cron a l’application inotify qui est un système basé sur le système de fichiers plutôt que sur des plages de temps. Un cas d’utilisation serait, par exemple, de pouvoir lancer une commande lorsqu’un logrotate a été lancé ou si un fichier a été ajouté dans un dossier.

pages manuelsite officiel

Autres versions

Avez-vous utilisé l’un d’eux dans vos projets?