2021-02-17 09:34 Temps de lecture : 7 min

Comment planifier des commandes système avec Cron sous Linux

Sous Linux, il est possible d'automatiser l'exécution de commandes système grâce à Cron. Mais qu'est-ce que Cron exactement ? Il s'agit d'un service fonctionnant en arrière-plan qui, une fois paramétré, est capable de lancer n'importe quelle commande, script ou programme suivant un calendrier précis. Son atout majeur réside dans sa totale personnalisation.

L'utilité de Cron est indéniable, cependant sa syntaxe peut s'avérer particulièrement complexe, surtout pour un utilisateur non initié. C'est pourquoi nous allons explorer ensemble comment comprendre et maîtriser facilement la syntaxe de Cron, afin que vous puissiez programmer l'exécution de tâches sur votre machine Linux.

Installation de Cronie

Cron est généralement installé et configuré par défaut sur la plupart des distributions Linux. Cette présence est due à son rôle central dans l'automatisation des lignes de commande, un aspect essentiel pour l'administration système dans l'univers Linux.

Bien que Cron soit souvent préinstallé, il est possible que certaines distributions ne l'intègrent pas nativement. Il est donc primordial de s'assurer de son installation avant de pouvoir l'utiliser.

Dans cette section, nous nous concentrerons sur l'installation de Cronie, un utilitaire standard présent sur de nombreuses distributions Red Hat Linux. Son choix est justifié par ses fonctionnalités conformes aux spécifications de Cron et sa disponibilité dans les dépôts de logiciels de la majorité des distributions Linux.

Pour vérifier la nécessité d'installer Cronie, ouvrez une fenêtre de terminal et entrez la commande ci-dessous. Si aucun résultat n'apparaît, votre système n'est pas équipé pour planifier des commandes et l'installation de Cronie est nécessaire.

crontab -h

Ubuntu / Debian

Cronie n'est pas pris en charge nativement par Ubuntu et Debian. Cependant, ces distributions sont généralement livrées avec Cron préconfiguré. Si, pour une raison quelconque, votre système ne peut pas utiliser Crontab, les wikis Debian ou Ubuntu proposent une aide précieuse.

Arch Linux

Arch Linux, étant une distribution personnalisable, incite les utilisateurs à installer et configurer chaque composant du système. De ce fait, l'installation d'un outil permettant de planifier des commandes avec Cron est parfois oubliée. Fort heureusement, Cronie est disponible dans le dépôt "Arch Linux Core". Pour l'installer, utilisez la commande Pacman ci-dessous.

sudo pacman -S cronie

Fedora

Fedora Linux, en tant que système d'exploitation pour poste de travail, a de fortes chances de disposer déjà de Cron et Crontab. Toutefois, si ce n'est pas le cas, Cronie s'installe facilement grâce à l'outil de gestion de paquets DNF.

sudo dnf install cronie -y

OpenSUSE

OpenSUSE Leap, la version la plus répandue, est également un système d'exploitation pour poste de travail. Cron devrait donc être déjà configuré. Si ce n'est pas le cas, installez Cronie avec la commande Zypper suivante.

sudo zypper install cronie

Linux générique

Votre distribution Linux n'intègre pas de système Cron ? Pas de panique, Cronie est un projet open source et ses instructions de compilation sont très simples. Pour plus d'informations, consultez cette page.

Programmation de commandes avec Cron

La planification de commandes avec Cron s'effectue via le fichier "Crontab". Ce fichier contient vos instructions et les transmet au démon Cron pour leur exécution.

Pour accéder à Crontab, ouvrez un terminal et exécutez la commande ci-dessous. Assurez-vous d'ajouter la ligne EDITOR=nano afin de pouvoir utiliser un éditeur simple comme Nano, au lieu d'un éditeur plus complexe.

EDITOR=nano crontab -e

Suite à cette commande, un nouvel éditeur de texte s'ouvrira avec un fichier vierge, où vous indiquerez vos commandes planifiées.

La programmation dans Cron est relativement complexe, car elle se base sur les minutes, heures, jours, mois et jours de la semaine. Au lieu de détailler la syntaxe, nous vous recommandons l'utilisation de Crontabgenerator, un outil en ligne qui simplifie grandement le processus.

Une fois sur le générateur, utilisez les cases à cocher pour définir la fréquence d'exécution de votre programme. Puis, indiquez la commande à exécuter dans la zone prévue à cet effet.

Dans cette zone "Commande à exécuter", entrez les commandes que vous souhaitez voir exécuter automatiquement par votre serveur ou ordinateur Linux. Notez que les "commandes" ne se limitent pas aux commandes Linux habituelles (apt update, ping, etc.). Tout ce qui fonctionne dans un terminal est valable pour Cron !

Une fois votre commande entrée, cliquez sur le bouton vert "Générer une ligne crontab" afin d'obtenir une ligne de texte. Copiez cette ligne et retournez à l'éditeur Crontab.

Utilisez Ctrl+Maj+V pour coller la ligne dans Nano, puis enregistrez le fichier avec Ctrl+O. Une fois votre fichier Crontab sauvegardé, le plus dur est fait. Quittez l'éditeur avec Ctrl+X.

Note : Pour les utilisateurs qui n'utilisent pas Cronie, il peut être nécessaire d'exécuter la commande `crontab -e` après la modification du fichier pour s'assurer que les changements soient pris en compte.

Une fois les modifications effectuées, le service Cron en prendra connaissance et exécutera les tâches selon le calendrier que vous avez défini !

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.