你好吗?
这些天,我一直在拼命地尝试实现每6小时运行一次脚本没有成功,甚至尝试了最简单的脚本,它们在任何时候都不会触发,我不知道我在做什么错。
首先,我尝试使用crontab -e
添加新的crontab,并添加以下行:
1 * * * * root echo "test" > /home/ubuntu/test.txt
此cron作业应每分钟执行一次,并使用字符串“ test”覆盖该冲突,但既不会创建文件,也不会添加字符串(显然)
我还尝试修改/ etc / crontab文件,但没有成功,我在其中添加了以下行:
* * * * * root date && echo 'it works' >> /home/ubuntu/crontest.log 2>&1
具有相同的结果,永远不会执行,该服务正在运行,我进行了apt更新,一切似乎都不起作用,为什么?
答案 0 :(得分:2)
首先,如果希望crontab每分钟运行一次,则应使用* * * * * <your command>
而不是1 * * * * <your command>
,它会每隔hh:01(每小时的第一分钟)运行一次cron作业。 / p>
接下来,您的crontab中的root
一词对我来说有点奇怪。如果您想以root用户身份运行cron作业,通常必须在该用户下创建它。您可以尝试sudo crontab -e
或sudo crontab -u <a user> -e
将其创建为“用户”。
最后,如果您希望crontab每6小时运行一次,则可以使用0 */6 * * * <you command>
。
答案 1 :(得分:0)
Julien B.几乎从一开始就有答案。 root关键字使我的cron作业没问题,我以为我没有root字词就尝试了,而且没有任何用,但是也许我的cron语法根本不正确,或者写的时间比预期的长。
无论如何,删除关键字“ root”可以解决所有问题,感谢Julien和所有提供帮助的人:)