Bonjour,
Je ne parviens pas à faire fonctionner mon cron job et je reçois toujours la même erreur.
[2021-06-08 18:22:02] ## OVH ## Your job could not be initiated for an unknown reason. Please contact customer support for more information.
[2021-06-08 18:22:02] ## OVH ## END - 2021-06-08 18:22:02.088148 exitcode: 255
La page en question s'afficher correctement (sans erreur) via web.
J'ai corrigé tous les chemins relatifs (c'est une erreur fréquente que j'ai découverte grâce au forum).
Le guide dit que l'erreur 255 est un "Exemple d’échec en raison d’une erreur d’autorisation (chmod) ou d’une configuration incorrecte du fichier .ovhconfig"
Mon script est en Chmod 644 ce qui doit certainement être assez (cette même cron fonctionnait avant en 604).
OVH config est le suivant :
app.engine=php
app.engine.version=8.0
http.firewall=security
environment=production
container.image=stable64
J'ai ouvert 3 tickets mais chaque fois on me renvoie à un lien vers les guides… (sauf la dernière fois où on m'a dit que tout fonctionne… mais ce n'est pas le cas).
Je suis paumé.
Si une bonne âme a une idée, je suis preneur.
Merci
Bonjour,
pouvez-vous m'indiquer le nom de domaine lié à votre hébergement ainsi que le cron (en message privé si vous le souhaitez) ?
Arnaud
Merci Arnaud pour le retour.
Le problème semble résolu mais ayant essayé tout ce qui est possible (avec chaque fois plus d'une heure pour que la cron s'exécute et que les logs soient disponibles), je ne suis pas certain de ce qu'était le problème parce que j'essayais bcp de choses en même temps.
Il se peut que ce soit une page d'un site que je récupérais via file_get_contents($page) où $page était un URL en http: (ce qui avait toujours bien fonctionné jusque là et qui fonctionne bien en mode web).
Mais j'ai changé en https://.
Si c'est le cas, il faudrait peut être élaborer un peu les guides.
Merci en tous cas d'avoir proposé votre aide.
Est ce que le script cron peut être mis dans un environnement ovhconfig (p.ex. stable64 php 7.4) et un autre environnement pour exécuter le cron (p.ex. sélectionner php 7.3 dans la liste du manager parce que 7.4 n'y est pas) ?
J'ai lu dans le forum que cron était indépendant de web mais je lis aussi dans le guide que le problème peut être lié à un problème ovhconfig.
Aussi, quelle est la bonne permission pour un script cron ?
Vos réponses aideront certainement la communauté.
Les crons sont exécutés dans votre container qui lui est configuré via votre .ovhconfig, ce qui veut dire, pour votre cas que vous serez dans un container stable64 et les limites de version que ça implique.
Le container stable64 propose, à ce jour, les versions php 7.3/7.4/8.0 donc si vous choisissez la version php 7.2 lors de la configuration de votre cron, celui-ci ne fonctionnera pas et vous aurez un message de log comme celui-ci :
```
[2021-06-09 19:16:39] ## OVH ## START - 2021-06-09 19:16:39.052853 executing: /usr/local/php7.2/bin/php /homez.xxx/username/test.php
[2021-06-09 19:16:39] ## OVH ## ERROR command '/usr/local/php7.2/bin/php' not found
[2021-06-09 19:16:39]
[2021-06-09 19:16:39] ## OVH ## END - 2021-06-09 19:16:39.110737 exitcode: 255
```
Pour les permissions,
- si vous choisissez un langage (ex: PHP 8.0):
la commande exécutée sera /usr/local/php8.0/bin/php ${HOME}/PATH_vers_la_commande_à_exécuter dans ce cas il suffit que votre fichier soit lisible (400 au minimum)
- si vous choisissez Autre:
la commande exécutée sera alors directement ${HOME}/PATH_vers_la_commande_à_exécuter dans ce cas le fichier devra être exécutable (500 au minimum)
Après vous pouvez retrouver plusieurs cas d'erreur :
- fichier manquant :
```
[2021-06-09 19:35:35] ## OVH ## START - 2021-06-09 19:35:35.798598 executing: /usr/local/php8.0/bin/php /homez.xxx/username/test.php
[2021-06-09 19:35:35] Could not open input file: /homez.xxx/username/test.php
[2021-06-09 19:35:35]
[2021-06-09 19:35:35] ## OVH ## END - 2021-06-09 19:35:35.933507 exitcode: 1
```
- problème de permission (langage = Autre) :
```
[2021-06-09 19:32:01] ## OVH ## START - 2021-06-09 19:32:01.531175 executing: /homez.xxx/username/test.sh
[2021-06-09 19:32:01] ## OVH ## ERROR command '/homez.xxx/username/test.sh' must be executable
[2021-06-09 19:32:01]
[2021-06-09 19:32:01] ## OVH ## END - 2021-06-09 19:32:01.545601 exitcode: 255
```
- problème de permission (langage = PHP 8.0), le fichier test.php a été chmod 0
```
[2021-06-09 19:55:33] ## OVH ## START - 2021-06-09 19:55:33.459180 executing: /usr/local/php8.0/bin/php /homez.xxx/username/test.php
[2021-06-09 19:55:33] Could not open input file: /homez.xxx/username/test.php
[2021-06-09 19:55:33]
[2021-06-09 19:55:33] ## OVH ## END - 2021-06-09 19:55:33.493779 exitcode: 1
```
Les logs contiennent également la sortie de l'exécution :
Fichier test.php
```
print "It works";
?>
```
```
[2021-06-09 19:43:14] ## OVH ## START - 2021-06-09 19:43:14.938194 executing: /usr/local/php8.0/bin/php /homez.xxx/username/test.php
[2021-06-09 19:43:14] It works
[2021-06-09 19:43:14]
[2021-06-09 19:43:14] ## OVH ## END - 2021-06-09 19:43:14.972845 exitcode: 0
```
Il y a également d'autres limitations comme le temps d'exécution d'une tâche ne peut pas être supérieur à 60min et si l'output de l'exécution du cron (ce qui sera loggué) est supérieur à 5Mo alors on ne log plus
Pour finir pour faciliter le dépannage, vous pouvez :
- essayer d'exécuter votre script depuis l'interface web de votre site (si possible et accessible)
- essayer d'exécuter votre script depuis l'environnement SSH (attention certaines requêtes externes peuvent être filtrées)
- ajouter des logs dans votre script afin de voir au mieux ce qui peut coincer
En espérant avoir répondu au mieux…
Pour plus d'info https://docs.ovh.com/fr/hosting/mutualise-taches-automatisees-cron/
1000 mercis pour vos explications très claires. J'espère que cela sera utile également à d'autres.
Moi j ai toujours un probleme avec ce Cron ![]()
Mon script me donne une Erreur -1… ?
Exec Format Error (err: -1)
Bonjour,
pouvez vous m'envoyer, en privé, si vous le souhaitez les références de votre hébergement / cron ?