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

De Ikoula Wiki
Jump to navigation Jump to search
 
(10 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<span data-link_translate_fr_title="Exécuter automatiquement des scripts sous Linux"  data-link_translate_fr_url="Exécuter automatiquement des scripts sous Linux"></span>[[:fr:Exécuter automatiquement des scripts sous Linux]][[fr:Exécuter automatiquement des scripts sous Linux]]
 +
<span data-link_translate_he_title="הפעל אוטומטית את קבצי ה-script תחת לינוקס"  data-link_translate_he_url="%D7%94%D7%A4%D7%A2%D7%9C+%D7%90%D7%95%D7%98%D7%95%D7%9E%D7%98%D7%99%D7%AA+%D7%90%D7%AA+%D7%A7%D7%91%D7%A6%D7%99+%D7%94-script+%D7%AA%D7%97%D7%AA+%D7%9C%D7%99%D7%A0%D7%95%D7%A7%D7%A1"></span>[[:he:הפעל אוטומטית את קבצי ה-script תחת לינוקס]][[he:הפעל אוטומטית את קבצי ה-script תחת לינוקס]]
 +
<span data-link_translate_ro_title="Rula automat script-uri sub Linux"  data-link_translate_ro_url="Rula+automat+script-uri+sub+Linux"></span>[[:ro:Rula automat script-uri sub Linux]][[ro:Rula automat script-uri sub Linux]]
 
<span data-link_translate_ru_title="Автоматически запускать скрипты под Linux"  data-link_translate_ru_url="%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8+%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B+%D0%BF%D0%BE%D0%B4+Linux"></span>[[:ru:Автоматически запускать скрипты под Linux]][[ru:Автоматически запускать скрипты под Linux]]
 
<span data-link_translate_ru_title="Автоматически запускать скрипты под Linux"  data-link_translate_ru_url="%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8+%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D1%82%D1%8C+%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B+%D0%BF%D0%BE%D0%B4+Linux"></span>[[:ru:Автоматически запускать скрипты под Linux]][[ru:Автоматически запускать скрипты под Linux]]
 
<span data-link_translate_pl_title="Automatycznie uruchamiać skrypty pod Linuksem"  data-link_translate_pl_url="Automatycznie+uruchamia%C4%87+skrypty+pod+Linuksem"></span>[[:pl:Automatycznie uruchamiać skrypty pod Linuksem]][[pl:Automatycznie uruchamiać skrypty pod Linuksem]]
 
<span data-link_translate_pl_title="Automatycznie uruchamiać skrypty pod Linuksem"  data-link_translate_pl_url="Automatycznie+uruchamia%C4%87+skrypty+pod+Linuksem"></span>[[:pl:Automatycznie uruchamiać skrypty pod Linuksem]][[pl:Automatycznie uruchamiać skrypty pod Linuksem]]
Ligne 10 : Ligne 13 :
 
<span data-link_translate_es_title="Ejecutar automáticamente secuencias de comandos en Linux"  data-link_translate_es_url="Ejecutar+autom%C3%A1ticamente+secuencias+de+comandos+en+Linux"></span>[[:es:Ejecutar automáticamente secuencias de comandos en Linux]][[es:Ejecutar automáticamente secuencias de comandos en Linux]]
 
<span data-link_translate_es_title="Ejecutar automáticamente secuencias de comandos en Linux"  data-link_translate_es_url="Ejecutar+autom%C3%A1ticamente+secuencias+de+comandos+en+Linux"></span>[[:es:Ejecutar automáticamente secuencias de comandos en Linux]][[es:Ejecutar automáticamente secuencias de comandos en Linux]]
 
<span data-link_translate_en_title="Automatically run scripts under Linux"  data-link_translate_en_url="Automatically+run+scripts+under+Linux"></span>[[:en:Automatically run scripts under Linux]][[en:Automatically run scripts under Linux]]
 
<span data-link_translate_en_title="Automatically run scripts under Linux"  data-link_translate_en_url="Automatically+run+scripts+under+Linux"></span>[[:en:Automatically run scripts under Linux]][[en:Automatically run scripts under Linux]]
== Problématique ==
 
Vous souhaitez pouvoir faire appel à des scripts ou commandes Linux, automatiquement, certains jours ou heures.
 
  
== Solution ==  
+
{{#seo:
La création de règles ''cron'' permet d'informer le système des commandes à exécuter ainsi que le délai ou heure de déclenchement.<br />
+
|title=Exécuter automatiquement des scripts sous Linux.
<br />
+
|title_mode=append
;Il vous faut tout d'abord vérifier que votre script est capable de s’exécuter en ligne de commande.
+
|keywords=these,are,your,keywords
<br />
+
|description=Découvrez dans cet article comment exécuter automatiquement des scripts sous Linux grâce. Vous y trouverez le fonctionnement de "cron" ainsi que la création de tâche planifiée récurrente avec ''crontab''.
;Il suffit ensuite d'inserer dans le fichier /etc/crontab, le chemin du script et les heures d’exécution.
+
|image=Uploaded_file.png
 +
|image_alt=Wiki Logo
 +
}}
 +
 
 +
 
 +
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 :
 +
<pre>$ systemctl status cron.service</pre>
 +
 
 +
=== Installation ===
 +
[[Fichier:Crontab.png|650px|vignette|droite|Contenu du fichier <code>/etc/crontab</code> par défaut]]
 +
 
 +
Dans de très rare cas, le service ''cron'' n'est pas installé par défaut sur le système.
 +
 
 +
Pour un système Debian/Ubuntu :
 +
<pre>$ sudo apt install cron</pre>
 +
 
 +
Pour un système Centos :
 +
<pre>$ sudo dnf install cronie</pre>
 +
 
 +
=== Fichiers et dossiers de configuration ===
 +
Le fichier de configuration principal est <code>/etc/crontab</code>.
 +
 
 +
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.daily</code> : Tous les jours
 +
* <code>/etc/cron.weekly</code> : Toutes les semaines
 +
* <code>/etc/cron.monthly</code> : Tous les mois
 +
 
 +
== Ajouter une tâche ==
 +
Pour ajouter  une tâche, il n'est pas conseillé de modifier directement le fichier <code>/etc/crontab</code>.
 +
 
 +
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 :
 +
<pre># crontab -e</pre>
 +
 
 +
Un éditeur de texte se lance et on peut y ajouter une ligne.
  
 
Voici la composition d'une ligne ''cron'':
 
Voici la composition d'une ligne ''cron'':
'''[minute] [heure] [jour du mois] [mois] [jour de la semaine] [commande à lancer]'''<br /><br />
+
'''[minute] [heure] [jour du mois] [mois] [jour de la semaine] [commande à lancer]'''
 +
 
  
 
===Exemples===
 
===Exemples===
 
<pre>
 
<pre>
 
 
#Programmation du reboot soft tous les Lundi, Mardi, Jeudi, Samedi a 6h30
 
#Programmation du reboot soft tous les Lundi, Mardi, Jeudi, Samedi a 6h30
 
30 6 * * 1,2,4,6 root reboot
 
30 6 * * 1,2,4,6 root reboot
 +
</pre>
  
#Programmation d'un script http appelé toutes les minutes
+
<pre>
*/1 * * * * root GET http://votre-domaine.com/test.php
+
#Programmation d'un script http appelé toutes les 5 minutes
 
+
*/5 * * * * root GET http://votre-domaine.com/test.php
 
</pre>
 
</pre>
  
 
[[Catégorie:Linux]]
 
[[Catégorie:Linux]]
<br />
+
[[Catégorie:Serveur VPS]]
 +
[[Catégorie:Serveur dédié]]
 +
 
 +
 
 +
Cet article vous a semblé utile ? <vote />
 +
 
 
<comments />
 
<comments />

Version actuelle datée du 19 février 2021 à 17:14

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

Contenu du fichier /etc/crontab par défaut

Dans de très rare cas, le service cron n'est pas 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 5 minutes
*/5 * * * * root GET http://votre-domaine.com/test.php


Cet article vous a semblé utile ?

0


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