Pour les offres Hébergement Linux et Serveur Dédié Managed

Cet article vous présente plusieurs éléments auxquels vous devez faire attention lorsque vous créez des tâches cron.

  • Laissez un intervalle de temps d'au moins 5 minutes entre deux tâches cron. Vous évitez ainsi d'exécuter en parallèle plusieurs tâches crons, ce qui entraînerait une charge élevée du serveur et par conséquent un ralentissement de l'exécution des tâches concernées.

  • Au début de votre fichier Crontab, ajoutez toujours un MAILTO (par exemple : MAILTO=jean.dupont@aide.fr). Vous recevrez ainsi par email les éventuels messages d'erreur relatifs à votre tâche cron.

  • Vous pouvez appeler un script PHP en utilisant les binaires suivants :

    /usr/bin/php4.4 (/usr/bin/php et /usr/bin/php4 sont des liens symboliques)
    /usr/bin/php5.2 (/usr/bin/php5.2 (/usr/bin/php5 est un lien symbolique)
    /usr/bin/php5.4
    /usr/bin/php5.5
    /usr/bin/php7.1
    /usr/bin/php7.2
    /usr/bin/php7.3
    /usr/bin/php7.4
    /usr/bin/php8.0
    /usr/bin/php8.1
    /usr/bin/php8.2

    Exemple :

*/10 * * * * /usr/bin/php8.2 -f /homepages/12/d12345678/htdocs/test.php
  • Faites attention au chemin d'accès complet
  • Lorsqu'un script PHP est exécuté par une tâche Cron, le fichier php.ini, s'il y en a un qui a été mis en place, n'est pas pris en compte. Par conséquent, les éventuelles variables modifiées ne sont pas définies.
    Alternative : vous pouvez exécuter le script PHP via une requête HTTP :
*/10 * * * * /usr/bin/curl -s https://example.com/test.php > /dev/null 

Si le script se trouve dans un répertoire protégé, vous devez passer les données d'accès en utilisant le paramètre -u.
Si votre contrat est de type hébergement mutualisé nous vous conseillons de protéger vos dossiers.

*/10 * * * /usr/bin/curl -s -u user:password https://example.com/test.php > /dev/null