systemes:linux:cron_gestion_taches_planifiees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

systemes:linux:cron_gestion_taches_planifiees [2016/08/03 16:28]
tribipod [Exemples]
systemes:linux:cron_gestion_taches_planifiees [2019/02/06 14:03]
Ligne 1: Ligne 1:
-====== Cron : Gestion des tâches planifiées ====== 
  
-===== Introduction ===== 
- 
-Cron est un utilitaire Unix qui permet d'exécuter des commandes ou des scripts à une heure, date ou cycle en fonction de vos besoin. 
- 
-===== Utilisation ===== 
- 
-2 commandes utiles : 
- 
-Pour éditer la table de cron : 
-<code bash> 
-serveur$ crontab -e 
-</code> 
- 
-Pour lister la table de cron : 
-<code bash> 
-serveur$ crontab -L 
-</code> 
- 
-Les commandes sont à lancer en root ou précédées de 'sudo'. 
- 
-===== Syntaxe ===== 
- 
-La syntaxe est simple et commune au différentes distributions Unix (une ligne = une tâche). 
-<code bash> 
-m h D M J  user  tâche 
-</code> 
-  * Le cycle de répétition 
-    * Les minutes (**m**) de 0 à 59 
-    * Les heures (**h**) de 0 à 59 
-    * Les jours du mois (**D**) de 1 à 31 
-    * Les mois (**M**) de 1 à 12 
-    - Les jour de la semaine (**J**) de 0 à 6 (0 représentant le dimanche) 
-  * L'utilisateur sous lequel la tâche sera exécutée (**user**) 
-  * La commande ou script (**tâche**) 
- 
-La notation sera la suivante 
-<code> 
-* : N'importe quelle valeur 
-x : La valeur souhaité 
-x,x : Séparateur d'une liste de valeur 
-x-x : Intervalle de valeur 
-*/x : Cycle 
-</code> 
- 
-Ce qui donne par exemple : 
-<code bash> 
-serveur$ crontab -l 
-0 23 * * *  root  /home/sauvegarde/sauvegardes.sh 
-</code> 
-Dans l'exemple ci-dessus, 'root' va exécuter le script '/home/sauvegarde/sauvegardes.sh' à 23h00 tous les jours de l'année. 
- 
-===== Raccourcis (non standard) ===== 
- 
-^ Raccourci ^ Équivalent ^ Traduction         ^   
-| @hourly   | 0 * * * * | Toutes les minutes  | 
-| @daily    | 0 0 * * * | Tous les jours      | 
-| @weekly   | 0 0 * * 0 | Toutes les semaines | 
-| @monthly  | 0 0 1 * * | Tous les mois       | 
-| @annually | 0 0 1 1 * | Tous les ans        | 
- 
-Il existe aussi un raccourci qui permet de lancer une tâche au démarrage : 
-<code bash> 
-@reboot  root  mount -a 
-</code> 
- 
-===== Exemples ===== 
- 
-^ m ^ h     ^ D ^ M   ^ J   ^ Traduction                                                  ^   
-| * | *     | * | *   | *   | Toutes les minutes                                          | 
-| 0 | 23    | * | *   | *   | Tous les jours à 23h00                                      | 
-| 0 | */6   | * | *   | *   | Toutes les 6 heures                                         | 
-| 0 | 11,23 | * | *   | 1-5 | À 11h et 23h du lundi au samedi                             | 
-| 0 | 23    | L | *   | *   | À 23h00 le dernier jour du mois (non standard)              | 
-| 0 | 0     | 1 | 1/3 | *   | Tous les 3 mois à partir de janvier le 1er du mois à minuit | 
- 
-===== Notification par mail ===== 
- 
-Par défaut, un rapport est envoyé dans la boîte local de l'utilisateur. Au début de votre fichier crontab, vous devez mettre : 
-<code> 
-# Pour désactiver 
-MAILTO="" 
-# Pour activer vers votre mail 
-MAILTO="user@domain.tld" 
-</code> 
- 
-===== Tâches cron utiles ===== 
- 
-Sur tous mes serveurs, j'ai systématiquement les 2 lignes ci-dessous en cron. 
-<code bash> 
-# Vérification des mise à jour (pour remonter supervision) 
-30 23 * * * /usr/bin/apt-get update 
-# Remise à l'heure du serveur 
-0 23 * * * ntpdate fr.pool.ntp.org 
-</code> 
- 
-===== Tâche ponctuel à une heure précise ===== 
- 
-Les jobs, une alternative dans le cas où vous devez exécuter une tâche à un moment X sans devoir aller editer votre fichier. Imaginez, vous devez lancer un script de maintenance provisoire à 22h00. 
-Vous taper '**at HH:MM**', '//Enter//', votre commande '**/root/maintenance.sh**', '//ctrl + D//', <EOT> apparaît et valide le job (1 dans le cas ci-dessous). 
-<code bash> 
-serveur$ at 22:00 
-warning: commands will be executed using /bin/sh 
-at> /root/maintenance.sh 
-at> <EOT> 
-job 1 at Thu Aug  3 22:00:00 2016 
-</code> 
- 
-Pour voir les jobs en attente : 
-<code bash> 
-serveur$ atq 
-1       Thu Aug  3 22:00:00 2016 a root 
-</code> 
- 
-Pour supprimer un job : 
-<code bash> 
-serveur$ atrm 1 
-</code> 
- 
-===== Conclusion ===== 
- 
-Vous voilà maintenant prêt à affronter <del>le merveilleux éditeur VIM</del> (euh, ..., ou pas !), votre éditeur favoris pour écrire vos scripts d'automatisation, de sauvegardes, etc... Et ensuite de lancer via cron afin que vous puissiez dormir tranquille sur vos 2 oreilles... 
- 
-Vous trouverez sur ce site ([[http://crontab.guru/|crontab.guru]]) pas mal d'exemples, mais qui vous aidera à la construction de votre tâche. ;-) 
  • systemes/linux/cron_gestion_taches_planifiees.txt
  • Dernière modification: 2019/02/06 14:03
  • (modification externe)