GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter Cron toutes les 5 minutes, secondes, heures, jours, mois

Question : Comment exécuter certains scripts shell à des intervalles spécifiques sous Linux à l'aide de la tâche cron ? Fournissez des exemples en utilisant différentes périodes.

Réponse : Crontab peut être utilisé pour planifier un travail qui s'exécute sur certains internes. L'exemple ici montre comment exécuter un script shell backup.sh en utilisant différents intervalles. @daily, .. tags que vous pouvez utiliser dans votre crontab.

1. Exécute une tâche cron toutes les 5 minutes

Le premier champ est pour les minutes. Si vous spécifiez * dans ce champ, il s'exécute toutes les minutes. Si vous spécifiez */5 dans le 1er champ, il s'exécute toutes les 5 minutes comme indiqué ci-dessous.

*/5 * * * * /home/ramesh/backup.sh

Remarque : De la même manière, utilisez */10 toutes les 10 minutes, */15 toutes les 15 minutes, */30 toutes les 30 minutes, etc.

2. Exécuter une tâche cron toutes les 5 heures

Le deuxième champ est pour les heures. Si vous spécifiez * dans ce champ, il s'exécute toutes les heures. Si vous spécifiez */5 dans le 2ème champ, il s'exécute toutes les 5 heures comme indiqué ci-dessous.

0 */5 * * * /home/ramesh/backup.sh

Remarque : De la même manière, utilisez */2 toutes les 2 heures, */3 toutes les 3 heures, */4 toutes les 4 heures, etc.

3. Exécute une tâche toutes les 5 secondes

La tâche Cron ne peut pas être utilisée pour planifier une tâche dans un intervalle de secondes. c'est-à-dire que vous ne pouvez pas programmer une tâche cron pour qu'elle s'exécute toutes les 5 secondes. L'alternative est d'écrire un script shell qui utilise la commande "sleep 5".

Créez un script shell every-5-seconds.sh en utilisant bash while loop comme indiqué ci-dessous.

$ cat every-5-seconds.sh
#!/bin/bash
while true
do
 /home/ramesh/backup.sh
 sleep 5
done

Maintenant, exécutez ce script shell en arrière-plan en utilisant nohup comme indiqué ci-dessous. Cela continuera à exécuter le script même après votre déconnexion de votre session. Cela exécutera votre script shell backup.sh toutes les 5 secondes.

$ nohup ./every-5-seconds.sh &

4. Exécuter une tâche tous les 5 jours de la semaine

Cet exemple ne concerne pas la planification "tous les 5 jours". Mais c'est pour programmer "tous les 5 jours de la semaine".

Le 5ème champ est DOW (jour de la semaine). Si vous spécifiez * dans ce champ, il s'exécute tous les jours. Pour une exécution tous les vendredis, spécifiez soit 5 du vendredi dans ce champ.

L'exemple suivant exécute backup.sh tous les vendredis à minuit.

0 0 * * 5 /home/ramesh/backup.sh
(or)
0 0 * * Fri /home/ramesh/backup.sh

Vous pouvez choisir le numéro d'utilisateur ou l'acronyme à trois lettres correspondant au jour de la semaine, comme indiqué ci-dessous.

  • 0=Dim
  • 1=Lun
  • 2=Mar
  • 3=Mer
  • 4=jeu
  • 5=Ven
  • 6=sam

Remarque : Prenez l'habitude d'utiliser Ven au lieu de 5. Veuillez noter que le nombre commence par 0 (et non par 1) et que 0 correspond à Sun (pas Mon).

5. Exécuter une tâche tous les 5 mois

Il n'y a pas de moyen direct de dire "tous les 5 mois", mais vous devez spécifier les mois spécifiques pendant lesquels vous souhaitez exécuter le travail. Vous souhaiterez probablement exécuter la tâche le 5e mois (mai) et le 10e mois (octobre).

Le quatrième champ est pour les mois. Si vous spécifiez * dans ce champ, il s'exécute tous les mois. Pour exécuter pour le mois spécifique, vous devez spécifier le numéro qui correspond au mois. Par exemple, pour exécuter la tâche en mai et octobre, vous devez spécifier 5,10 (ou) vous pouvez simplement utiliser l'acronyme à 3 lettres du mois et spécifier mai, octobre.

Le troisième champ est pour DOM (Jour du mois). Si vous spécifiez * dans ce champ, il s'exécute tous les jours du mois. Si vous spécifiez 1 ce mois-ci, il s'exécute le 1er du mois.

L'exemple suivant exécute backup.sh deux fois par an. c'est-à-dire le 1er mai à minuit et le 1er octobre à minuit.

0 0 1 5,10 * /home/ramesh/backup.sh
(or)
0 0 1 May,Oct * /home/ramesh/backup.sh

Remarque : Ne commettez pas l'erreur de spécifier 5-10 dans le 4e champ, ce qui signifie du 5e mois au 10e mois. Si vous ne voulez que le 5e et le 10e mois, vous devez utiliser une virgule.


Linux
  1. Comment exécuter ou répéter une commande Linux toutes les X secondes pour toujours

  2. Comment exécuter une tâche cron certains jours de la semaine

  3. Comment exécuter le travail cron toutes les heures et 10 minutes

  4. Comment exécuter à plusieurs reprises un script bash toutes les N secondes ?

  5. CronJob toutes les 25 minutes

Comment exécuter des tâches Cron toutes les 5, 10 ou 15 minutes

Comment exécuter une commande Linux toutes les X secondes pour toujours

Comment planifier une tâche dans Cron pour qu'elle s'exécute toutes les heures dans Ubuntu 20.04

Comment exécuter une tâche Crontab chaque semaine le dimanche

Comment dire à Cron d'exécuter une commande tous les deux jours (pair/impair) ?

Comment puis-je exécuter une tâche cron toutes les 30 minutes ?