将文件添加到 /etc/cron.d 并不能使其运行(ubuntu 10.04)

将文件添加到 /etc/cron.d 并不能使其运行(ubuntu 10.04)

如果我将 cron 文件复制到 /etc/cron.d,除非我编辑该文件并更改命令,否则它不会运行。然后 crond 似乎会获取该 cron 文件。

我怎样才能让 cron 在 ubuntu 10.04 中重新加载其 cron 文件?“触摸”文件不起作用,‘重新启动 cron’或‘重新加载 cron’也不起作用。

我的 cron 文件设置为每分钟运行一次并记录到文件中。在我编辑命令之前,日志文件中没有任何内容,并且 /var/log/syslog 中没有该命令的条目

我困惑了。

这是我保存到 /etc/cron.d/runscript 的 cron 文件(注意它以新行结尾)

# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo `date +'[\%D \%T]'` "Thing not deployed. Command not run" >> /var/log/thing/mything.log; fi &

答案1

我刚刚遇到了这个问题,虽然它不能回答你的具体情况,但它可能会帮助其他在谷歌上搜索同样问题的人,因为这个问题的搜索结果很高。

我曾在 /etc/cron.d 中保存过一个文件,但它被忽略了。在我的例子中,这是因为我为文件添加了扩展名。

mytask.cron没有用,但我将其重命名为,mytask并且工作正常。

任何带有扩展名的文件都会被忽略,因此请确保您保存的文件没有任何扩展名。

答案2

检查您正在复制的文件是否以 结尾\n。crontabs 中末尾没有 的条目\n通常会遇到问题。确保这一点的最简单方法是在最后一个条目后放置一个空行。

答案3

刚刚遇到了同样的问题。这似乎与文件的实际扫描/加载有关。

运行“touch /etc/cron.d/smon”(我的 cron 文件)后,我在 /var/log/syslog 中收到以下消息:

9 月 3 日 10:21:01 vm-nca-s1 cron[994]: (系统smon)重新加载(/etc/cron.d/smon)

...现在它可以工作了。

答案4

我发现我的问题在于 semanage 策略权限......所以你不能尝试这个:

sudo restorecon --RRvv /etc/cron.d

相关内容