我试图让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
所以我真的无法理解问题出在哪里。有什么建议吗?
最好的问候
答案 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中。