Aller au contenu principal
Version: 2.4.X

Tâches cron

Cron est un outil qui permet à un utilisateur de programmer l’exécution automatique d’actions (comme une commande, un script, un logiciel ou une requête vers une URL) à des moments précis et de façon régulière.

Information sur la syntaxe d'une tâche cron

Lorsque vous consultez une tâche cron sur un serveur vous voyez quelque chose de cette forme :

* * * * * <commande à exécuter>
| | | | |
| | | | |_ Jour de la semaine (0 = lundi, 1 = mardi,... jusqu'à 6 = dimanche)
| | | |___ Mois (1 = janvier, 2 = février,... jusqu'à 12 = décembre)
| | |_____ Jour du mois (de 1 à 31)
| |_______ Heure (de 0 à 23)
|_________ Minute (de 0 à 59)

Cron utilise des caractères ou des formats spécifiques pour exécuter les tâches avec des périodes bien précises :

*       → toutes les valeurs possibles (* = toutes les minutes)
0,10,20 → liste les valeurs auquelles on lance la tâche (0,10,20 = minutes 0, 10 et 20 uniquement)
0-20 → intervalle contenant les valeurs auquelles on lance la tâche. Les bornes sont incluses (0-20 = de la minute 0 à la minute 20 inclue)
*/5 → pas séprant les valeurs auquelles exécuter la tâche (*/5 = toutes les 5 minutes)

Il existe également des syntaxes non-conventionnelles qui peuvent ne pas fonctionner en fonction de votre système d'exploitation :

@monthly → Tous les mois (le premier jour du mois, à la première heure)
@weekly → Toutes les semaines (le premier jour de la semaine, à la première heure)
@daily → Tous les jours (à la première heure de la journée)
@hourly → Toutes les heures (à la première minute de l'heure)
@reboot → À chaque redémarrage

Ci-dessous un exemple d'une tâche qui exécutera le script PHP "monscript.php", hébergé sur le site "exemple.php", toutes les 5 minutes, à la 9ème heure de la journée (de 09h00 à 09h59), tous les jours du mois, seulement le mois de janvier et uniquement sur les jours de la semaine (du lundi au vendredi) :

*/5 9 * 1 1-5 wget -O /dev/null https://exemple.tld/monscript.php
| | | | |
| | | | |_ Du premier au 5ème jour de la semaine (du lundi au vendredi, vendredi inclus)
| | | |____ Le premier mois (janvier)
| | |______ Tous les jours du mois
| |________ À la 9ème heure
|___________ Toutes les 5 minutes

Second exemple avec un format non-conventionnel :

@daily wget -O /dev/null https://exemple.tld/monscript.php
|
|_ Tous les jours à 00h00

L'interface IcoAdminServeur vous permet de visualiser et d'administrer les tâches cron installées sur votre serveur. Pour accéder à cette fonctionnalité rendez-vous dans l'onglet Tâches cron de l'interface.

cronmenu imagecronmenu image
remarque

Icodia utilise des tâches cron pour certaines fonctions d'administration et d'infogérance du serveur. Vous verrez donc des tâches apparaître dans le tableau même si vous n'en avez pas ajoutés.

Gestion des tâches cron

Ajouter une tâche

Pour ajouter une tâche cron cliquez sur le bouton Ajouter en haut à droite du tableau. Un menu apparaît alors :

cronaddmenu imagecronaddmenu image
  1. Nom de la tâche

    Nom que vous souhaitez donner à la tâche cron. Ce nom servira de référence pour votre tâche cron et n'a pas d'utilité réelle, vous êtes donc libre de saisir ce que vous souhaitez.

  2. Fréquence de la tâche

    Fréquence à laquelle la tâche cron sera exécutée.

    Vous pouvez sélectionner une fréquence parmis les fréquences pré-configurées :

    cronfrequence2 imagecronfrequence2 image

    Ou bien vous pouvez entrer la valeur que vous souhaitez dans le champ en respectant le format classique des tâches cron :

    cronfrequence1 imagecronfrequence1 image
  3. Utilisateur

    Sélectionnez l'utilisateur qui exécutera la tâche cron. Notre interface propose deux utilisateurs :

    • Apache : Utilisateur qui est utilisé par le service web de votre serveur. Cet utilisateur a des permissions restreintes, il est donc recommandé de l'utiliser pour des tâches nécessitant peu d'accès, pour les tâches concernant vos sites web ou pour s'assurer que la tâche cron ne modifie pas de fichiers sensibles.
    • Root : L'utilisateur Root est l'administrateur du serveur. Il possède donc les droits d'accès et d'exécution sur tous les fichiers système et sur une grande partie des fichiers du serveur. Il est recommandé de n'utiliser cet utilisateur que lorsque la tâche cron à exécuter ne fonctionne pas avec l'utilisateur Apache.
  4. Type de commande

    Les tâches cron permettent d'exécuter des commandes ou d'appeler des URLs. En fonction de ce que vous souhaitez mettre en place vous pouvez choisir lequel de ces deux types de commande sera exécuté.

  5. Commande

    La commande à exécuter. La commande doit être valide, elle s'exécutera aux intervalles de temps spécifiés.

  6. Ajouter

    Une fois tous les champs complétés, vous pouvez valider l'ajout de la tâche cron en cliquant sur Ajouter.

Modifier une tâche

L'IcoAdminServeur vous permet de modifier une tâche cron déjà existante. Pour ceci cliquez sur le bouton edit iconedit icon de la ligne correspondante.

La fenêtre de modification de la tâche s'affiche. Vous pouvez y éditer les paramètres de votre tâche cron (voir : Ajouter une tâche pour la description des champs).

Cliquez sur Modifier pour enregistrer vos modifications.

Supprimer une tâche

Pour supprimer un VHOST, cliquez sur le bouton trash icontrash icon.

Une boîte de dialogue apparaît pour vous demander de confirmer la suppression :

crondelete imagecrondelete image