Crontab 不工作

Crontab is not working

我试图让一个 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

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

此致

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

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

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

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

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

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

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

如果有任何问题,请在将其安装到 crontab 之前修复它。