Perl没有在crontab中执行

mac*_*mac 2 perl cron crontab

我的perl脚本没有在crontab中执行,

我不知道如何确认这一点,但我没有看到脚本结果或输出.

但是在cron日志中我看到像7月28日12:35:01 dvsbi-build crond [13469]的条目:( root)CMD(PATH =/usr/local/bin:/ usr/sbin/usr/lib perl/dm2 /www/html/isos/preFCS5.3/autodownload.pl)

我把cron的工作设为

35 12 * * 2-6 PATH=/usr/local/bin:/usr/sbin/usr/lib perl /dm2/www/html/isos/preFCS5.3/autodownload.pl
Run Code Online (Sandbox Code Playgroud)

我无法看到perl脚本结果.在脚本中,我已将所有调试语句重定向到LOG文件,我没有看到日志文件更新.

perl脚本通过提供路径就可以从终端的任何地方手动运行

perl /dm2/www/html....../autoDownload.pl 
Run Code Online (Sandbox Code Playgroud)

此外,我已经给出了脚本中的日志文件的完整路径.

mat*_*ull 7

你应该在cron中使用perl的完整路径.cron的一些实现限制了环境变量的使用.

尝试找出你的系统上perl的位置,which perl如sergio所评论的那样.

鉴于perl位于/ usr/bin中,请尝试以下操作:

35 12 * * 2-6 /usr/bin/perl /dm2/www/html/isos/preFCS5.3/autodownload.pl
Run Code Online (Sandbox Code Playgroud)

  • 通常cron有自己的PATH变量.它通常包含`/ usr/local/sbin:/ usr/local/bin:/ sbin:/ bin:/ usr/sbin:/ usr/bin`.您的行工作的原因是您的perl解释器位于其中一个目录中. (2认同)