Qu’est-ce qu’une tâche Cron sous Linux ? Comment l’utiliser?


  • FrançaisFrançais


  • Dans cette partie de notre série Linux Jargon Buster, vous découvrirez cron sous Linux. Vous apprendrez également les bases de la création de tâches cron en éditant crontab.

    Qu’est-ce qu’une tâche cron sous Linux ?

    Cron est un utilitaire de ligne de commande pour exécuter des commandes petites et rapides sur une base planifiée. Il s’agit d’un outil sysadmin classique et pratique pour automatiser diverses tâches en le combinant avec d’autres outils. Par exemple, certaines personnes combinent rsync et cron pour créer automatiquement une sauvegarde quotidienne ou hebdomadaire à un certain moment. Certaines personnes l’utilisent pour analyser les journaux du serveur et le combiner avec la fonction de messagerie pour envoyer un e-mail si un certain type d’erreur est détecté dans les journaux.

    Cron est comme le couteau suisse. Il peut être utilisé pour une variété de cas d’utilisation. C’est vraiment à votre imagination de l’utiliser.

    Démarrer avec cron est très simple et ne prend que quelques secondes pour démarrer. Mais avant de vous montrer cela, je vais discuter d’autre chose qui déroute souvent les utilisateurs de Linux.

    Cron vs cron job vs crontab

    Vous rencontrerez probablement trois termes qui se ressemblent : cron, cron job et crontab. Permettez-moi de vous dire rapidement quels sont ceux-ci:

    cron : il s’agit du programme réel que vous installez sur votre système et exécutez en tant que démon.

    tâche cron : une tâche sous Linux est un programme opérationnel. Cron peut gérer plusieurs tâches et les exécuter à l’heure prévue. Chacune de ces tâches est appelée « tâches cron ».

    crontab: Il s’agit du fichier (et de la commande) dans lequel vous définissez la tâche à exécuter et à quelle fréquence l’exécuter. Une crontab peut contenir plusieurs tâches cron sous forme de tableau où chaque ligne est une tâche cron.

    Permettez-moi de partager un exemple de tâche cron qui s’exécute toutes les heures et affiche « Linux est cool ! » à un nom de fichier crontab_log.txt.

    0 * * * *  echo "Linux is Cool!" >> ~/crontab_log.txt

    Même la tâche cron la plus simple peut sembler effrayante et intimidante. En effet, vous devez savoir comment lire correctement une tâche cron.

    Je vais faire passer cette connaissance théorique de cron au niveau supérieur dans la section suivante.

    Premiers pas avec Cron

    Commençons par (un autre) exemple simple du fonctionnement de Cron.

    Pour créer des tâches Cron, ou les commandes que cron exécutera, vous exécutez simplement :

    crontab -e

    Il extraira un fichier pour éditer les tâches cron avec :

    fichier crontab
    Vue par défaut de Crontab

    Toutes les lignes qui commencent par # (c’est-à-dire toutes les lignes) ne servent qu’à vous guider sur la façon d’utiliser cron et peuvent être supprimés si vous n’en avez pas besoin.

    Cependant, nous utiliserons les éléments suivants comme premier travail Cron :

    * * * * * touch ~/crontab_test

    Voyons ce que cela va faire très rapidement :

    Les tâches Cron se présentent sous la forme minute hour day month week command.

    • minute dans ce contexte signifie simplement quelles minutes d’une heure le travail s’exécutera. Donc en précisant 0 se déroulerait au tout début d’une heure, et en spécifiant 5 se déroulerait à la cinquième minute d’une heure.
    • Ensuite, le heure La déclaration spécifiait les heures d’une journée pendant lesquelles un travail peut s’exécuter, allant des valeurs 0-23. La raison pour laquelle il n’y a pas d’option 24 heures ici est que 23 va jusqu’à la toute fin de ce qui serait 11h59, à quel moment vous êtes à minuit, ou à l’heure 0 du lendemain. Cette même logique s’applique à la minute déclaration mentionnée précédemment.
    • journée spécifie quel jour du mois un travail peut s’exécuter, c’est-à-dire 1-31 (contrairement aux exemples précédents qui ont commencé le 0).
    • mois spécifie sur quels mois de l’année un travail peut s’exécuter et prend des valeurs allant de 1 à 12.
    • Dernièrement, la semaine spécifie les jours de la semaine sur lesquels un travail s’exécute, en commençant le dimanche, avec des valeurs de 0 à 6, contrairement aux deux derniers.

    Vous précisez ensuite commander qui est juste la commande que vous voulez exécuter.

    explication crontab

    Si vous voulez plus d’aide pour comprendre la partie minute heure jour mois semaine, je recommande fortement le Crontab gourou site Web, qui peut grandement aider à comprendre ce qui se passe exactement :

    En suivant l’exemple précédent de * * * * * touchez ~/crontab_test cependant, vous exécuterez simplement touch ~/crontab_test toutes les minutes.

    Mettons cela dans la crontab et voyons-le ensuite en action :

    cron exemple 1

    Si vous attendez ensuite la minute suivante, vous verrez le fichier crontab_test situé dans votre répertoire personnel :

    résultat du travail cron

    Et c’est la base de l’utilisation de cron !

    Un exemple utile de tâche cron

    C’était beaucoup trop simple (et probablement inutile).

    Supposons que vous souhaitiez faire quelque chose d’un peu plus complexe, par exemple un script de sauvegarde qui doit copier des fichiers de plusieurs répertoires de votre système dans un seul dossier, puis archiver cette sauvegarde dans un seul fichier.

    Cela peut être facilement fait en mettant simplement nos commandes dans un script, qui peut ensuite être appelé par cron.

    Utilisons le script suivant comme exemple :

    #!/usr/bin/bash
    echo "Backing up..."
    mkdir -p ~/.local/tmp/
    tar -Pc ~/Documents/ -f ~/.local/tmp/backup.gz

    Ce script fait les choses suivantes :

    1. Vérifie que le répertoire ~/.local/tmp/backup_dir existe sur le système.
    2. Met tout de ~/Documents/ dans une archive située à ~/.local/tmp/backup.gz.

    Exécutons d’abord le script manuellement afin que nous puissions voir qu’il fonctionne réellement.

    Tout d’abord, plaçons le script dans ~/backup_script comme ceci :

    exemple cron complexe

    Ensuite, copiez simplement le contenu du script affiché ci-dessus dans le fichier.

    Vous devez ensuite indiquer au système que notre script est autorisé à être exécuté en exécutant simplement chmod +x ~/backup_script :

    exemple complexe de cron 1

    Vous pouvez ensuite tester l’exécution de notre script en exécutant ~/backup_script.sh, qui indique simplement à notre système le chemin d’accès à notre script :

    résultat cron complexe

    Vous pouvez ensuite restaurer cette sauvegarde en exécutant simplement tar -xf ~/.local/tmp/backup.gz -C output_dir, où output_dir est le répertoire dans lequel enregistrer les fichiers.

    Ce script peut désormais s’exécuter sur une base planifiée en utilisant Cron !

    Par exemple, si vous souhaitez que le script s’exécute tous les jours à 3 heures du matin, vous pouvez utiliser la syntaxe suivante dans cron :

    0 3 * * * ~/backup_script

    Et puis vous auriez des sauvegardes créées quotidiennement.

    Emballer

    Et ce n’est que l’introduction aux tâches cron. Il est largement utilisé par les administrateurs système, bien que je ne sois pas sûr de nombreux cas d’utilisation pour les utilisateurs de bureau Linux. Si vous le faites, veuillez en suggérer dans la section des commentaires.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.