Comment planifier des commandes système avec Cron sous Linux

Vous pouvez planifier des commandes système avec Cron sous Linux. Qu’est-ce que Cron? C’est un service d’arrière-plan qui, lorsqu’il est configuré, peut exécuter n’importe quelle commande, script ou programme selon un calendrier. Mieux encore, il est entièrement personnalisable.

Cron est très utile, mais la syntaxe de la commande est incroyablement déroutante, en particulier pour l’utilisateur moyen. Pour cette raison, nous allons couvrir comment comprendre Cron facilement, et sa syntaxe de commande afin que vous puissiez planifier automatiquement les commandes système sur votre machine Linux!

Installez Cronie

Pour la plupart, Cron est pré-installé et configuré sur de nombreuses distributions Linux. La raison en est que Cron est au cœur de beaucoup d’automatisation de ligne de commande dans l’industrie Linux SysAdmin.

Même si Cron est configuré sur la plupart des distributions, cela ne signifie pas que tous les systèmes d’exploitation Linux existants l’ont. Donc, avant de parler de l’utilisation de Cron, il est impératif de l’installer sur votre système d’exploitation.

Dans cette section, nous allons nous concentrer sur l’installation de Cronie, un outil trouvé par défaut sur de nombreuses distributions Redhat Linux. La raison? Il a des fonctionnalités standard pour Cron, et les packages se trouvent sur les référentiels logiciels de la plupart des distributions Linux.

  Crontab sous Linux - avec des exemples et des outils en temps réel

Pour déterminer si vous devez installer le package Cronie, lancez une fenêtre de terminal et entrez la commande ci-dessous. Si rien ne se passe, votre système ne dispose pas d’un moyen de planifier les commandes système et vous devez installer Cronie.

Crontab —h

Ubuntu / Debian

Ubuntu et Debian ne prennent pas en charge Cronie. Cependant, ces distributions Linux sont souvent configurées avec Cron hors de la boîte. Si pour une raison quelconque votre système ne peut pas utiliser Crontab, consultez les pages wiki Debian ou Ubuntu pour obtenir de l’aide.

Arch Linux

Arch Linux est une distribution Linux à faire soi-même et les utilisateurs sont censés installer chaque package sur leur système et le configurer eux-mêmes. En conséquence, de nombreux utilisateurs négligent d’installer une application qui leur permet de planifier des commandes système avec Cron. Heureusement, l’application Cronie se trouve dans le référentiel logiciel «Arch Linux Core». Pour obtenir Cronie, entrez la commande Pacman ci-dessous.

sudo pacman -S cronie

Feutre

Fedora Linux est un système d’exploitation pour station de travail, il y a donc de bonnes chances que vous puissiez déjà interagir avec Cron et Crontab. Pourtant, si pour une raison quelconque vous ne pouvez pas, Cronie est facilement installé avec l’outil d’emballage DNF.

sudo dnf install cronie -y

OpenSUSE

OpenSUSE Leap (la version de SUSE que la plupart des utilisateurs utilisent) est un système d’exploitation de poste de travail, tout comme Fedora, donc Cron devrait déjà être configuré. Cependant, si ce n’est pas le cas, installez Cronie avec la commande Zypper suivante.

sudo zypper install cronie

Linux générique

Sur une distribution Linux obscure qui n’a pas de système Cron? Heureusement pour vous, Cronie est open source, et les instructions de construction sont très simples. Pour en savoir plus, rendez-vous sur cette page.

  Comment rejoindre un serveur Minecraft sur Windows 10

Planifier les commandes système avec Cron

La planification des commandes système avec Cron nécessite le «Crontab». Le «Crontab» est un fichier qui conserve vos opérations et les transmet au démon Cron pour qu’il s’exécute.

Pour accéder à Crontab sur votre système, lancez un terminal et exécutez la commande suivante ci-dessous. Assurez-vous d’inclure la ligne EDITOR = nano, ou vous recevrez un éditeur beaucoup plus difficile, à la place de quelque chose de facile comme Nano.

EDITOR=nano crontab -e

Après avoir exécuté la commande, l’éditeur de texte ouvrira un nouveau fichier vierge. Ce fichier vierge est l’endroit où vont vos commandes.

Dans Cron, la planification est relativement compliquée. Cela passe par minutes, heures, jours, mois et jours de la semaine. Cependant, nous ne reviendrons pas sur la façon d’écrire manuellement un calendrier Cron. Au lieu, nous vous dirigerons vers le site Web de Crontabgenerator, car cela rend les choses beaucoup plus confortables.

  Comment entrer en mode de récupération sur votre iPhone 7 et 7 Plus

Une fois que vous êtes arrivé au générateur, utilisez les cases à cocher pour choisir un programme. Ensuite, lorsque vous êtes satisfait du calendrier, passez à la case «Commande à exécuter».

Dans la zone «Commande à exécuter», écrivez les commandes de terminal que vous souhaitez que votre ordinateur ou serveur Linux exécute automatiquement. Gardez à l’esprit que les «commandes» ne sont pas limitées aux commandes Linux telles que «apt update», «ping», etc. Elles peuvent être n’importe quoi! Tant que votre commande fonctionne dans le terminal, elle fonctionnera dans Cron!

Vous avez terminé de remplir votre commande dans la case «Commande à exécuter»? Cliquez sur le bouton vert «Générer une ligne crontab» pour afficher une ligne de texte. Ensuite, mettez en surbrillance le texte sur la page de sortie et revenez à l’éditeur de texte Crontab.

Appuyez sur Ctrl + Maj + V pour coller le code dans Nano. Ensuite, enregistrez-le avec Ctrl + O. Une fois votre fichier Crontab enregistré, le travail acharné est terminé. Quittez l’éditeur avec Ctrl + X.

Remarque: ceux qui n’utilisent pas Cronie peuvent avoir besoin d’exécuter crontab -e après l’édition pour s’assurer que le nouveau fichier entre en vigueur.

Lorsque la modification est terminée, le service d’arrière-plan Cron en prendra note et l’exécutera selon le calendrier que vous avez spécifié!