我有一个perl脚本(属于XMLTV家族的“抓取器”,具体来说是tv_grab_oztivo
)。
我可以像这样成功运行它:
/sw/bin/perl /path/to/tv_grab_oztivo --output /path/to/tv.xml
我使用完整路径来消除工作目录问题,权限不应该是个问题。
所以,如果我从终端(Mac OSX)运行它,它就可以正常工作。
但是当我将其设置为通过cron作业运行时,似乎什么都没有发生。没有创建任何输出等。
据我所见,crontab 没有任何问题,因为如果我用 helloworld.pl 替换实际脚本,它会在正确的时间运行得很好。
那么,我该如何调试?我可以从两种情况下查看 %ENV,发现环境差异很大,但我还能采取哪些方法进行调试?我怎样才能查看 cron 作业的输出,这可能是一些 Perl 的 "die" 消息或 shell 中的 "not found" 消息等?
或者,我应该尝试以某种方式给 cron 版本的命令提供与我的运行环境相同的环境?