我已经安装了以下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。 我可以通过input上面的文件path来运行该文件。
你的脚本似乎正在退出状态2,这是cron解释为错误。
如果手动运行,它是否以状态0退出?
/usr/local/bin/sqlbackup.sh -e echo $?
检查你是不是假设有关cron运行时,不是真实的环境。 特别是在调用其他脚本或二进制文件时使用绝对path。
尝试使用sh -x /usr/local/bin/sqlbackup.sh -ereplacecron作业,然后应该显示逐行执行信息(尽pipe我还没有用cron试过)。