Différences entre versions de « Exécuter automatiquement des scripts sous Linux »

De Ikoula Wiki
Jump to navigation Jump to search
(Annulation des modifications 28353 de Clefevre4f18c (discussion))
Balise : Annuler
Ligne 36 : Ligne 36 :
 
Le fichier de configuration principal est <code>/etc/crontab</code>.
 
Le fichier de configuration principal est <code>/etc/crontab</code>.
  
Certaines distributions Linux ont le service <code>cron</code> pré-configurées pour exécuter les scripts placés dans ces dossiers :
+
Il est par défaut configuré pour exécuter avec l'utilisateur ''root'' les scripts stockés dans ces dossiers :
 
* <code>/etc/cron.hourly</code> : Toutes les heures
 
* <code>/etc/cron.hourly</code> : Toutes les heures
 
* <code>/etc/cron.daily</code> : Tous les jours
 
* <code>/etc/cron.daily</code> : Tous les jours
 
* <code>/etc/cron.weekly</code> : Toutes les semaines
 
* <code>/etc/cron.weekly</code> : Toutes les semaines
 
* <code>/etc/cron.monthly</code> : Tous les mois
 
* <code>/etc/cron.monthly</code> : Tous les mois
 +
  
 
== Ajouter une tâche ==
 
== Ajouter une tâche ==

Version du 7 juillet 2020 à 10:39

fr:Exécuter automatiquement des scripts sous Linux he:הפעל אוטומטית את קבצי ה-script תחת לינוקס ro:Rula automat script-uri sub Linux ru:Автоматически запускать скрипты под Linux pl:Automatycznie uruchamiać skrypty pod Linuksem ja:Linux のスクリプトを自動的に実行します。 ar:تلقائياً بتشغيل البرامج النصية تحت لينكس zh:自动运行在 Linux 下的脚本 de:Automatische Ausführung von Skripten unter Linux nl:Automatisch uitvoeren van scripts onder Linux it:Eseguire automaticamente script sotto Linux pt:Automaticamente executar scripts no Linux es:Ejecutar automáticamente secuencias de comandos en Linux en:Automatically run scripts under Linux

Cet article explique le fonctionnement de cron et comment créer une tâche planifiée récurrente avec crontab.

Le fonctionnement de Cron

Vérification

Le service cron s'exécute au démarrage de la machine et lance les lignes de commandes en fonction de ce qui est renseigné dans ses fichiers de configuration.

Pour vérifier que le service cron est fonctionnel, lancez la commande :

$ systemctl status cron.service

Installation

Dans de très rare cas, le service cron peut ne pas être installé par défaut sur le système.

Pour un système Debian/Ubuntu :

$ sudo apt install cron

Pour un système Centos :

$ sudo dnf install cronie

Fichiers et dossiers de configuration

Le fichier de configuration principal est /etc/crontab.

Il est par défaut configuré pour exécuter avec l'utilisateur root les scripts stockés dans ces dossiers :

  • /etc/cron.hourly : Toutes les heures
  • /etc/cron.daily : Tous les jours
  • /etc/cron.weekly : Toutes les semaines
  • /etc/cron.monthly : Tous les mois


Ajouter une tâche

Pour ajouter une tâche, il n'est pas conseillé de modifier directement le fichier /etc/crontab.

Pour cela, nous préférerons utiliser la commande crontab qui modifiera le fichier après une avoir vérifié la syntaxe.

Utilisation de crontab

crontab -l
Lister les planifications
crontab -r
Supprimer toutes les planifications
crontab -e
Éditer les planifications


Pour ajouter une ligne de commande qui va s’exécuter régulièrement, nous allons donc utiliser :

# crontab -e

Un éditeur de texte se lance et on peut y ajouter une ligne.

Voici la composition d'une ligne cron: [minute] [heure] [jour du mois] [mois] [jour de la semaine] [commande à lancer]

Exemples

#Programmation du reboot soft tous les Lundi, Mardi, Jeudi, Samedi a 6h30
30 6 * * 1,2,4,6 root reboot
#Programmation d'un script http appelé toutes les minutes
*/1 * * * * root GET http://votre-domaine.com/test.php



Vous n'êtes pas autorisé à publier de commentaire.