调度时crontab问题

时间:2011-05-16 11:50:18

标签: linux crontab

我有一个perl脚本,我安排它每天通过crontab运行。如果执行该脚本正常工作。但是在通过crontab执行时,它会将错误邮件发送到我的邮箱。

我是否应修改以通过crontab成功执行脚本?

1 个答案:

答案 0 :(得分:2)

  1. 可能是$PATH问题。确保您的Perl脚本位于$PATH提到的位置,或者在crontab中具有绝对路径。这对于在Perl脚本中运行的任何脚本或程序也有效。 $PATH变量通常必须在crontab文件中设置。

  2. 它可能是Perl脚本中使用的具有相对路径的文件,在手动执行时可以正常工作,但在cron(不同的工作目录)运行时会失败。

  3. Perl脚本是否具有执行权限(x模式位设置)?当它与perl /path/to/script.pl一起运行时,这不是必需的,但当它与/path/to/script.pl一起运行时会失败。

  4. 编辑:

    有关如何修复的建议:

    在crontab中添加到$PATH(对于示例脚本/path/to/script.pl):

    PATH=/bin:/usr/bin:/path/to
    

    请务必包含其他所需路径(例如/bin/usr/ucb)。

    文件中已经存在PATH定义的可能性。在这种情况下,只需将您的路径附加到它。

    或者,您可以在cron作业行中指定完整路径,例如:

    17 *    * * *   root    /path/to/script.pl
    

    修复权限:

    chmod a+r+x /path/to/script.pl