Tache CRON OVH ne marche pas (bug)

Lorsque vous avez un hébergement mutualisé OVH, vous avez la possibilité d’utiliser une fonctionnalité bien pratique : les tâches planifiées aussi appelées tâches CRON. On vous détaille les erreurs les plus fréquentes qui peuvent provoquer des bugs.

bug tache cron ovh

Comme son nom l’indique, une tâche planifiée est un système qui exécute un script à un moment précis. Cela permet, par exemple, d’exécuter un script qui fait une sauvegarde de vos données chaque matin à 3h, lorsque le serveur est très peu sollicité. Mais il y a tout un tas d’autres utilisations bien évidemment.

Pour accéder à ce service sur OVH, rendez-vous dans la catégorie « Hébergement » (colonne de gauche). Cliquez sur « Plus + » puis sur « tâches planifiées – Cron ».

Ça ne marche pas !

Voici quelques conseils et solutions pour trouver la source du bug.

#1 Vérifier le script

La première chose à faire est de vérifier que votre script fonctionne bien. Pour cela, il suffit de taper l’URL dans un navigateur et de tester.

#2 Vérifier les paramètres

Votre code fonctionne ? Il va falloir vérifier que la tâche CRON est bien paramétrée. Pour cela, direction l’administration OVH, rubrique « tâches planifiées ». Commencez par vérifier qu’elle est bien « activée » (colonne « État »). Vérifiez ensuite que le chemin du script est correct. En général, il doit commencer par « ./www/ » ou « www/ » qui correspond à la racine de votre hébergement. Assurez-vous que la version PHP indiquée est bien la même que votre hébergement.

#3 Vérifier les logs

Allez dans « statistiques et logs » du menu « Plus + » et cliquez sur le lien « logs ». Vous allez être redirigé vers le site logs.ovh.net. Vous trouverez des liens « Cron » qui permettent de suivre les lancements effectués. « OVH Speed Log » correspond aux logs du jour. Vous pouvez aussi voir ceux des jours précédents plus bas. Dans chaque fichier, vous voyez minute par minute tous les lancements qui ont été effectués. Si votre script est censé afficher quelque chose à la fin, vous pouvez le voir aussi. Regardez si des erreurs s’affichent et regardez les heures afin de voir si votre script ne serait pas trop long à s’exécuter (trop lourd).

Un autre moyen pour suivre les erreurs est de mettre une adresse email lorsque vous paramétrez une tâche CRON. Ainsi, en cas d’erreur lors du lancement, vous recevez un email avec des informations.

#4 Le CRON se lance mais ne marche pas

Vous avez vérifié les 3 étapes précédentes mais il y a toujours un bug. Votre script fonctionne quand vous le lancez manuellement via le navigateur, tout est bien paramétré et il apparaît bien dans les logs. Pourtant, votre script ne s’est pas exécuté.

Avez-vous des « include » dans votre code ? Si oui, vous devez mettre des chemins absolus sinon le CRON ne marchera pas.

Pour connaître le chemin absolu de votre hébergement OVH, vous pouvez utiliser les fonctions « Realpath » ou « dirname » de php.

<?php

$chemin_absolu_fichier = realpath(__FILE__); /* chemin absolu de ce fichier */

$chemin_absolu_repertoire_parent = dirname(__FILE__); /* chemin absolu du répertoire parent de ce fichier */

?>

Généralement, le chemin absolu commence par « /home/ ».

#5 Le CHMOD

Dernier conseil, vérifiez les droits d’accès au fichier/répertoire et mettez « 705 ». Vous pouvez facilement le faire via votre logiciel FTP. Avec Filezilla, il suffit de faire un clic droit pour accéder à cette option.

Écrire un commentaire