我似乎无法运行cron工作,我无法弄清楚为什么。我是新手,所以我可能会犯一个业余错误。
首先,我创建一个脚本并将其命名为'test.sh',将其放在/ usr / local / bin文件夹中。该脚本包含:
#!/bin/bash
echo "This test works!"
接下来,我在/etc/cron.d文件夹中创建一个名为'randomtest'的文件。该文件包含:
00 09 * * * root /usr/local/bin/test.sh >> /var/log/test.log
我希望cron作业每天早上9点运行,但出于某种原因,它没有。我也没有按预期获得日志文件。我检查了test.sh文件的权限,它当前设置为755,这应该可以。
我有什么问题吗?我错过了一个关键因素吗?我是否需要将“randomtest”文件添加到crontab或其他内容?
答案 0 :(得分:0)
使用/etc/init.d/crond reload
重新加载cron守护程序。
(即使它已经在运行!)
答案 1 :(得分:0)
问题是您正在使用/etc/cron.d
目录,而不是使用crontab
命令。
除非您确实需要以root
运行cron作业,否则只需使用crontab
命令将其添加到您自己的crontab中。您可以使用crontab -e
对其进行编辑,但最好保留自己的crontab副本(理想情况下在版本控制下)并使用命令的crontab filename
版本进行安装。这可确保cron守护程序知道更新,并且将捕获任何语法错误。这也意味着您不需要像root
那样运行任何命令;避免root
命令,除非它们实际上是必要的总是一个好主意。
请注意,系统crontabs(/etc/crontab
和/etc/cron.d
目录下的那些 - 尽管这些位置是您理想情况下不应该担心的实现细节)具有与用户crontabs不同的语法;每行都有一个额外的字段,用于指定运行commans的帐户。
如果您需要以root用户身份运行命令,则可以更新系统crontab文件(小心!),也可以为root
用户设置用户crontab,使用正常的crontab
命令,就像使用任何用户帐户一样。