Crontab无法正常工作

时间:2015-03-23 09:39:15

标签: bash cron

我试图让crontab在我的Linux Mint机器上运行但没有成功。

我打开crontab:

sudo crontab -e

我以这种方式编辑文件:

34 10 * * * root /home/dario/Desktop/back_up/prova_crono.sh

或:

34 10 * * * user /home/dario/Desktop/back_up/prova_crono.sh

但没有工作表现。

如果我写的话,脚本prova_crono.sh正在运行:

./prova_crono.sh

所以我真的无法理解问题出在哪里。有什么建议吗?

最好的问候

1 个答案:

答案 0 :(得分:1)

好的,问题是你的cron不接受用户名作为第六个字段。删除root以使您的crontab条目看起来像

34 10 * * * /home/dario/Desktop/back_up/prova_crono.sh

cron发送的根目录收件箱中应该有大量的电子邮件告诉你类似command not found: root的内容。我建议你不要在root用户的crontab中安装这个crontab,而是在你自己的(dario?)crontab中安装。这样,失败的电子邮件就会发送到您的收件箱,而不是root用户。

此外,99%的用户惊讶地发现从cron继承的PATH接近空。您应该使用

将其设置在脚本顶部附近
 #!/bin/sh
 PATH=$(/usr/bin/getconf PATH)
 ...rest of script...

您可以通过在极其简化的环境中运行脚本来测试脚本的cron-readyiness:

 env -i HOME=$HOME /home/dario/Desktop/back_up/prova_crono.sh

如果有任何抱怨,请先将其修复,然后再将其安装到crontab中。