How To Schedule Linux Jobs With Cronie
Cette vidéo présente cronie, l’implémentation de cron la plus courante sous Linux, et explique comment installer, configurer et utiliser des cron jobs pour automatiser des tâches système ou utilisateur.

SYNTHÈSE STRUCTURÉE
Installation et activation de cronie
L’intervenant commence par installer cronie sur une machine sous CachyOS (distribution basée sur Arch Linux) avec la commande sudo pacman -S cronie. Il précise que cronie est « ce que la plupart des utilisateurs d’Arch Linux et des distributions basées sur Arch recommandent ». Une fois installé, il active et démarre le démon avec sudo systemctl enable --now cronie. Cette commande combine l’activation au démarrage et le lancement immédiat du service, ce qui est une bonne pratique pour éviter un redémarrage inutile.
Qu’est-ce qu’un crontab ?
Le crontab (contraction de « cron table ») est le fichier de configuration qui liste les tâches à exécuter et leur planning. L’intervenant insiste sur un point important : « Vous ne voulez jamais créer vos propres fichiers crontab et les écrire manuellement. Vous éditez toujours votre crontab avec la commande crontab. » Pour éditer son crontab personnel, on utilise crontab -e, qui ouvre l’éditeur par défaut du système (Emacs dans son cas). Si besoin, on peut spécifier un autre éditeur avec la variable d’environnement EDITOR.
Structure d’une ligne de crontab
Une ligne de crontab classique comporte six champs : minutes (0-59), heures (0-23), jour du mois (1-31), mois (1-12), jour de la semaine (0-6, 0 = dimanche), et la commande à exécuter. L’intervenant illustre avec un exemple complexe tiré du wiki Arch Linux : */5 9-16 * 1-5,9-12 1-5 /chemin/vers/script.sh. Il explique que cela signifie « toutes les 5 minutes, entre 9h et 16h, du lundi au vendredi, pendant les mois de janvier à mai et septembre à décembre ». Les astérisques (*) sont des jokers qui signifient « toutes les valeurs possibles ».
Les mots-clés spéciaux
Cronie propose des mots-clés pratiques pour simplifier la planification : @reboot (au démarrage), @yearly ou @annually (une fois par an), @monthly, @weekly, @daily (identique à @midnight), et @hourly. L’intervenant donne un exemple concret : « Si j’ai un script spécifique à exécuter à chaque redémarrage de la machine, j’ajoute simplement @reboot suivi de la commande. » Cela évite d’écrire des expressions temporelles complexes pour des cas fréquents.
Cas d’usage pour un utilisateur de bureau
Bien que les administrateurs serveur utilisent cron pour les sauvegardes et la maintenance, l’intervenant propose plusieurs applications pour un utilisateur de bureau Linux :
- Sauvegardes régulières : planifier un
rsyncvers un serveur distant ou Nextcloud. - Nettoyage des caches : vider automatiquement des répertoires temporaires chaque semaine.
- Changement aléatoire de fond d’écran : bien que d’autres outils existent, cron peut le faire.
- Notifications de rappel : par exemple, « toutes les heures, rappelle-moi de me lever et de marcher » ou « rappelle-moi de faire une pause pour éviter la fatigue oculaire ».
- Corrections post-redémarrage : si un paramètre est réinitialisé après une mise à jour, un
@rebootpeut le rétablir automatiquement.
Importance du wiki Arch Linux
L’intervenant recommande vivement le wiki Arch Linux comme ressource pour apprendre cron : « Le wiki Arch Linux est très bien détaillé. Si vous passez deux minutes avec le wiki Arch Linux, vous pouvez vous mettre à jour très rapidement sur cronie et les cron jobs. » Il souligne que la section 2.3 du wiki (format crontab) est particulièrement claire.
CONCEPTS CLÉS
- Cronie : implémentation de cron la plus répandue sous Linux, souvent installée par défaut ou recommandée dans les distributions basées sur Arch.
- Crontab : fichier de configuration contenant la liste des cron jobs, édité exclusivement via la commande
crontab -e. - Démon cronie : processus en arrière-plan (
cronie.service) qui vérifie périodiquement les crontabs et exécute les tâches planifiées. - Joker
*: dans une expression cron, signifie « toutes les valeurs possibles » pour ce champ (ex.*pour minutes = toutes les minutes). - Pas
*/N: permet d’exécuter une tâche tous les N intervalles (ex.*/5pour toutes les 5 minutes).
CONCLUSION
Cronie est un outil fondamental pour l’automatisation sous Linux, aussi bien sur serveur que sur poste de travail. L’intervenant rappelle que « si vous n’avez jamais joué avec les cron jobs et que vous êtes un utilisateur Linux de longue date, je pense que vous vous devez d’en apprendre un peu plus ». La simplicité du format crontab, combinée aux mots-clés comme @reboot, permet de résoudre de nombreux besoins quotidiens (sauvegardes, nettoyage, notifications) sans recourir à des outils plus lourds. La clé est d’utiliser systématiquement crontab -e pour éditer son crontab et de consulter le wiki Arch Linux pour maîtriser la syntaxe.