ubuntu - cronjob 失败,退出代码为 2

ubuntu - cronjob 失败,退出代码为 2

我已经设置了以下 crontab -

sudo crontab -e

01 21 * * * /usr/local/bin/sqlbackup.sh -e

这应该在每晚 21:01 运行 sqlbackup.sh,但它从未运行过。这是错误日志

cron[2339]: (root) RELOAD (crontabs/root)
CRON[31600]: (root) CMD (/usr/local/bin/sqlbackup.sh -e)
CRON[31599]: (CRON) error (grandchild #31600 failed with exit    status 2)
CRON[31599]: (CRON) info (No MTA installed, discarding output)

我把权限设置为777,所有者是root,输入上面的文件路径就可以运行文件了。

答案1

您的脚本似乎以状态 2 退出,cron 将其解释为错误。

如果手动运行它是否以状态 0 退出?

/usr/local/bin/sqlbackup.sh -e
echo $?

检查您是否没有对环境做出在 cron 运行时不真实的假设。特别是在调用其他脚本或二进制文件时使用绝对路径。

尝试用 - 替换 cron 作业sh -x /usr/local/bin/sqlbackup.sh -e,然后它应该显示逐行执行信息(尽管我还没有尝试过用 cron 替换它)。

相关内容