Ho uno script perl (parte della famiglia XMLTV di "grabber", in particolare tv_grab_oztivo
).Perché la mia riga di comando non viene eseguita da cron?
posso correre con successo in questo modo:
/sw/bin/perl /path/to/tv_grab_oztivo --output /path/to/tv.xml
Io uso i percorsi completi per tutto per eliminare i problemi con la directory di lavoro. Le autorizzazioni non dovrebbero essere un problema.
Quindi, se lo avvio dal terminale (Mac OSX) funziona perfettamente.
Ma quando l'ho impostato per essere eseguito tramite un cron job, non sembra che accada nulla. Nessuna uscita è stata creata ecc.
Non c'è niente di sbagliato con il crontab, per quanto posso vedere, perché se sostituisco un helloworld.pl per lo script vero e proprio, funziona perfettamente al momento giusto.
Quindi, cosa posso fare per eseguire il debug? Posso vedere guardando %ENV
nei due casi in cui l'ambiente è molto diverso, ma quali altri approcci posso adottare per il debug? Come posso vedere l'output del job cron, che potrebbe essere una sorta di messaggio "die" perl o "non trovato" dalla shell o altro?
O dovrei provare a dare in qualche modo alla versione di cron del comando lo stesso ambiente di quando è in esecuzione come me?
Sta funzionando. Grazie. Alla fine ho appena aggiunto PERL5LIB e PATH a $ ENV e tutto andava bene. – AmbroseChapel