Skip to main content
Une tâche cron exécute une commande selon un horaire. Sur un hébergement web, les usages courants sont le planificateur d’un CMS, un script de sauvegarde ou un import périodique — tout ce qui doit se produire sans que personne ne clique.
Prérequis
  • Un service d’hébergement web chez OnetSolutions
  • L’accès à votre compte cPanel
  • La commande à exécuter, et le chemin absolu vers celle-ci

Créer une tâche cron

1

Connectez-vous à cPanel

Accédez à votre compte cPanel via l’espace client OnetSolutions.
2

Ouvrez les tâches cron

Dans la section Avancé, cliquez sur « Tâches Cron ».
3

Indiquez une adresse de notification

Dans « E-mail Cron », saisissez l’adresse qui recevra la sortie. Laissez-la renseignée pendant vos tests — cette sortie est ce qui vous apprend que la tâche a échoué.
4

Choisissez l'horaire

Utilisez « Paramètres courants » pour un intervalle standard, ou remplissez les cinq champs individuellement pour tout le reste.
5

Saisissez la commande

Indiquez la commande complète avec des chemins absolus, puis cliquez sur « Ajouter une nouvelle tâche Cron ».

Comprendre l’horaire

Les cinq champs, dans l’ordre :
Horaires courants :

Écrire la commande

Cron s’exécute dans un environnement minimal. Il ne connaît pas vos alias de shell, et il ne résout pas nécessairement php vers la version qu’utilise votre site. Employez des chemins absolus, pour l’interpréteur comme pour le script :
Pour conserver un journal plutôt que de dépendre des e-mails :
C’est le 2>&1 qui capture les erreurs. Sans lui, le journal enregistre la sortie réussie et laisse tomber les échecs en silence — l’inverse de ce qu’on veut. Pour rendre une tâche silencieuse une fois qu’elle a fait ses preuves, jetez la sortie :
N’exécutez pas une tâche chaque minute sans nécessité réelle. Les exécutions d’un script lent se chevauchent, s’empilent, consomment les ressources du compte et peuvent à elles seules faire tomber le site. Si une tâche risque de durer, faites-la sortir immédiatement quand une exécution précédente est encore active.

WordPress et CMS similaires

WordPress planifie ses propres tâches via wp-cron.php, déclenché par le trafic des visiteurs. Sur un site peu fréquenté, les publications programmées et les sauvegardes partent donc en retard, voire pas du tout. La correction habituelle consiste à désactiver le déclenchement par le trafic et à passer par cron :

Dépannage

Vérifiez d’abord les chemins : une commande qui fonctionne dans un terminal échoue souvent sous cron parce qu’elle s’appuyait sur votre environnement de shell. Utilisez des chemins absolus partout, interpréteur compris.
Redirigez la sortie vers un journal avec >> /chemin/cron.log 2>&1 et relisez-le après l’exécution suivante. Un script qui échoue sur un fichier manquant ou une connexion à la base le dit à cet endroit.
Cron envoie toute sortie par e-mail, y compris la sortie normale. Une fois la tâche éprouvée, ajoutez > /dev/null 2>&1 pour la rendre silencieuse, ou videz le champ « E-mail Cron ».
Cron suit le fuseau horaire du serveur, qui n’est pas forcément le vôtre. Calculez l’horaire en heure serveur, et rappelez-vous que le passage à l’heure d’été le décale deux fois par an.
Testez la commande à la main avant de la planifier. Une tâche qui échoue en silence à 3 h du matin est bien plus difficile à diagnostiquer que la même commande qui échoue sous vos yeux.