0%
savoir image

Cron est un utilitaire de planification de tâches basé sur le temps dans les systèmes d'exploitation Linux qui peut être utilisé pour exécuter des commandes ou des scripts à une heure, des dates ou des intervalles spécifiés.

Il est très utile pour l'administrateur système d'effectuer automatiquement certaines tâches utiles telles que la sauvegarde, l'effacement du cache, la surveillance de l'espace disque et bien d'autres.

Vous pouvez utiliser la commande crontab pour installer, désinstaller, créer et modifier les tâches cron. Chaque utilisateur a ses propres fichiers crontab situés dans /var/spool/cron/crontabs. La tâche Cron s'exécute en arrière-plan et vérifie en permanence le fichier /etc/crontab et les répertoires /etc/cron.*/.

 

Crontab propose différentes options à utiliser avec la commande crontab.
 
# Editer ou créer un nouveau fichier crontab
crontab -e
# Editer ou créer un nouveau fichier crontab pour un utilisateur spécifique
crontab -u username -e
# Afficher le contenu de votre fichier crontab
crontab -l
# Supprimer votre fichier crontab
crontab -r
# Installer un fichier spécifique en tant que fichier crontab
crontab -a filename

 

Les tâches planifiées cron sont définies au niveau du système dans le fichier /etc/crontab et dans le dossier /etc/cron.d/
Pour modifier vos tâches planifiées tapez : crontab -e (lance un éditeur du fichier crontab). 

Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont dans l'ordre (un champs qu'on ne souhaite pas renseigner doit être remplis avec une *) :

  • minute (les minutes se numérotent de 0 à 59)
  • heure (les heures se numérotent de 0 à 23)
  • jours dans le mois (les jours se numérotes de 1 à 31)
  • mois (les mois se numérotent de 1 à 12, ou s'énoncent par leur libellé abrégé anglais - jan ; feb ; mar ; apr ; …)
  • jour de la semaine (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s'énoncent par leur libellé abrégé anglais - sun ; mon ; tue ; wed ; thu ; fri ; sat)
  • La commande à lancer.

 

1 - Exécuter un script a 2h du matin chaque jour

0 2 * * * /scripts/script.sh

 

2 - Exécuter un script deux fois par jour à 5h et à17

0 5,17 * * * /scripts/script.sh

 

3 - Exécuter un script chaque minute

* * * * *  /scripts/script.sh

 

4 - Exécuter un script chaque 10 minutes

*/10 * * * * /scripts/script.sh

 

5 - Exécuter un script chaque dimanche à17

0 17 * * sun  /scripts/script.sh

 

6 - Exécuter un script sur des mois sélectionnés

* * * jan,may,aug *  /script/script.sh

 

7 - Exécuter un script sur des jours sélectionnés à 17h

0 17 * * sun,fri  /script/script.sh

 

8 - Exécuter un script le premier dimanche de chaque mois

0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh

 

9 - Exécuter un script chaque 4 heures

0 */4 * * * /scripts/script.sh

 

10 - Exécuter un script deux fois 4h et 17h chaque dimanche et lundi

0 4,17 * * sun,mon /scripts/script.sh

 

11 - Exécuter un script chaque 30 seconde

* * * * * /scripts/script.sh
* * * * *  sleep 30; /scripts/script.sh

 

12 - Exécuter plusieurs scripts 

* * * * * /scripts/script.sh; /scripts/scrit2.sh

 

13 - Exécuter un script chaque année

@yearly /scripts/script.sh

 

14 - Exécuter un script chaque mois, chaque semaine, chaque jour, chaque heure

@monthly /scripts/script.sh
@weekly /scripts/script.sh
@daily /scripts/script.sh
@hourly /scripts/script.sh

 

15 - Exécuter un script tous les jours de la semaine du lundi au vendredi à 22h

0 22 * * 1-5 /scripts/script.sh

 

 

1 commentaires

Merci vraiment très utile

Alex53

10/09/2022