Crontab pour les nuls

Cron est ce qu’on appelle un planificateur de tâches périodiques pour les systèmes de type Unix. Il permet aux utilisateurs de planifier des tâches pour une exécution périodique. Il est couramment utilisé pour automatiser les tâches de maintenance du système ou d’administration. Je vais faire un rapide tour pour que vous puissiez au moins avancer un peu.
Prenons comme exemple un petit script de sauvegarde qu’on appellera sync_home.sh Ensuite, il y a 2 solutions. Soit l’exécution est rattachée à un utilisateur, soit elle est rattachée au système. Dans le premier cas de figure, il faut se connecter avec cet utilisateur, et exécuter la commande crontab -e . Si ça n’est pas déjà fait, vous allez pouvoir choisir l’éditeur de votre choix.

$ crontab -e
no crontab for idem - using an empty one

Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano 3. /usr/bin/mcedit
4. /usr/bin/vim.basic
5. /usr/bin/vim.nox
6. /usr/bin/vim.tiny

Choose 1-6 [2]: 5

Dans le second cas, il faudra éditer le fichier /etc/crontab

$ vi /etc/crontab

Les règles se construisent comme indiqué :
# m h dom mon dow command

m est pour minutes [0-59]
h est pour heure [0-23]
dom est pour journée du mois [1-31]
mon est pour mois, de janvier à décembre [1-12]
dow est pour journée du dimanche au samedi [0-6]
command est le chemin d’accès absolu de votre script

Voici des exemples de règles cron :

Exécuter un script à tous les jours à minuit

# m h dom mon dow command
0 0 * * * /home/idem/scripts/sync_home.sh

Exécuter un script le lundi à 14h30

# m h dom mon dow command
30 14 * * 1 /home/idem/scripts/sync_home.sh

Exécuter un script à toutes les heures

# m h dom mon dow command
0 */1 * * * /home/idem/scripts/sync_home.sh

Exécuter un script à toutes les 30 minutes

# m h dom mon dow command
*/30 * * * * /home/idem/scripts/sync_home.sh

Enregistrer le fichier, et c’est fini. Ok, pour nous qui avons grandit avec ça, c’est évident, mais il faut aussi penser à ceux qui débutent. Have fun!

A propos de Mehdi HAMIDA

Avec plus de 20 ans d’expérience dans la tech, je me suis spécialisé dans la gestion des données, le cloud (AWS, Snowflake) et l'architecture IT. Avant ça, j’étais expert technique et chef de projet sur des missions stratégiques. Je m'appelle Mehdi HAMIDA, et aujourd’hui, je partage simplement mes découvertes et connaissances à travers ce blog.

Lire aussi

Installer une VM Windows 11 sur Nutanix : guide pratique pour surmonter les obstacles

L’installation d’une VM Windows 11 sur Nutanix peut réserver quelques surprises, notamment des problèmes inattendus …

3 commentaires

  1. Il manque l’essentiel : cron.d cron.daily etc : )

  2. je dis justement que je vais au plus simple, à l’essentiel….c’est volontaire!!!
    Je ferais un article complémentaire un peu plus tard 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *