2011-05-17 3 views
0

Je configure une crontab qui exécute un script php régulièrement. Le script php exécute un script cochon en utilisant exec().sh commande de cochon non trouvée

Cependant, je reçois ce message d'erreur:

sh: porc: command not found

Comment cela peut-il être résolu?

Répondre

1

Pouvez-vous exécuter pig normalement, à partir de la ligne de commande? Si c'est le cas, exécutez whereis pig pour obtenir le chemin d'accès complet et l'utiliser dans l'entrée crontab. Si ce n'est pas le cas, installez-le (en utilisant la méthode/le gestionnaire de paquet habituelle sur votre OS)

+0

ouais, je peux exécuter cochon avec succès, j'ai le chemin complet au cochon, et j'essaie même de lancer la commande php directement, ça marche, en plus j'ai essayé de lancer le cochon dans sh 'sh pig -x local/full path/pigscript.pig' ça a marché, juste le job crontab a gagné ' En fait, je cours le cochon parce que je ne vois pas de résultats générés.J'installe le crontab en utilisant mon compte pas root, cela causerait-il un problème ...? – ohana

+0

Donc, juste t o être clair, le programme php fonctionne comme prévu lorsque vous l'exécutez directement? Mais le même programme php exact échoue lorsqu'il est exécuté par cron? Je dois admettre que je suis plutôt perplexe ... quel OS est-ce? –

0

Il semblerait que votre premier numéro ne trouve pas le chemin du porc dans le crontab puisque l'erreur est "sh: pig: commande introuvable "Vous pouvez avoir une variable PATH dans votre environnement local qui n'est plus présent dans votre environnement cron, essayez avec le chemin absolu du script cochon dans votre cron