在cron作业中执行perl脚本,“system”命令返回-1

时间:2013-04-12 07:56:53

标签: perl cron

my $systemDateState = system "date";
my $systemXXXXState = system "xxxx";#xxxx is a program
print "$systemDateState\n";
print "$systemXXXXState\n";

这个perl脚本打印两个零。它可以从命令行运行。但是当在cron作业中执行此脚本时,它返回一个零和一个-1。

-1表示xxxx从未执行过。我试图直接在cron作业中执行xxxx。 xxxx执行正常。并且cron作业中的perl脚本系统日期。为什么cron作业中的perl脚本系统xxxx从未执行过?

2 个答案:

答案 0 :(得分:1)

这里的情况是因为线条结束。它在a.sh中为set Path & xxxx,在b.sh中为set Path & perl script.pl。 cron工作中的a.sh正在工作,b.sh不工作。区别在于Unix格式的a.sh,Win格式的b.sh.我改变了b.sh的格式,它也在工作。 -_- ||

答案 1 :(得分:0)

尝试编辑你的cronjob以强制使用正确的目录。例如:

cd cronjobs && perl cronjob.pl