fcron
fcron est un outil sous licence GPL permettant d'exécuter des tâches répétitives ou ponctuelles.
Dépôt | github.com/yo8192/fcron |
---|---|
Écrit en | C |
Licence | Licence publique générale GNU |
Site web | fcron.free.fr |
Il fusionne en un unique logiciel les fonctionnalités du couple Vixie cron-Anacron [pourquoi ?] tout en apportant des fonctionnalités absentes du démon (daemon) cron originel.
Les commandes utilisateurs de fcron sont très proches dans leur syntaxe de celles utilisées par Vixie cron. Mais la syntaxe du crontab a beaucoup évolué. Elle reste compatible avec celle utilisée précédemment tout en ajoutant de nouvelles possibilités pour paramétrer le comportement du planificateur de tâches. Il devient ainsi possible de se passer de Anacron.
fcron amène, avec la série 3.0.x, de nouvelles fonctionnalités telles que la possibilité d'interagir avec le démon via une commande fcrondyn pour savoir ce qu'il fait ou ce qu'il fera. Les prises en charge de SELinux et PAM apparaissent aussi, ce qui lui permet de travailler dans les mêmes environnements que Vixie cron.
La nouvelle syntaxe du crontab
Le crontab de fcron est une évolution de la syntaxe originelle qui intègre deux nouveaux types de tâches et permet ainsi de se passer de Anacron.
La nouvelle syntaxe définit trois types de ligne d'exécution. Chacune correspond à une manière de décrire une tâche à exécuter. Il y a ainsi les &-lignes, les @-lignes et les %-lignes. On peut aussi définir des variables d'environnement qui existeront lors de l'exécution des lignes.
Les &-lignes
Ces lignes sont équivalentes à celle de cron et ont une syntaxe similaire à la différence qu'elles commencent par le caractère & et qu'elles peuvent contenir des commandes ou options supplémentaires.
Exemple :
# lancer macommande tous les jours à 12:05, 12:35, 13:05, 13:35, 14:05 *et* 14:35 & 05,35 12-14 * * * macommande -u moi -o fichier # sauvegarder mon travail de la journée toutes les nuits à 03:45 avec une faible priorité, sauf le dimanche, # envoyer la sortie par courriel à jim et lancer cette tâche au démarrage si la machine était éteinte à 03:45 &nice(10),mailto(jim),bootrun 45 03 * * *~0 "save --mon travail"
Les @-lignes
Les lignes débutant par "@" permettent de provoquer des exécutions répétées d'une commande, séparées par une certaine durée (le point de départ du décompte temporel étant le lancement de fcron, qui correspond d'ordinaire au démarrage du système). Exemple :
# Exécuter la commande ''date'' toutes les 30 minutes (et placer la date # obtenue dans un fichier /tmp/date). # La première exécution de ''date'' aura lieu trente minutes après le # lancement de fcron. @ 30 date > /tmp/date
Les %-lignes
Ces lignes sont équivalentes à celle de anacron.
Exemple :
%nightly * 22-23,1-2 echo "bonne nuit, les petits"
La définition de variables d'environnement
Comme pour cron, les variables d'environnement (comme par exemple PATH) sont définies en début de fichier.
Les systèmes pris en charge
Voici la liste des systèmes d'exploitation sous lesquels fcron fonctionnait :