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

tom*_*tom 22 ubuntu cron

如果我将 cron 文件 scp 到 /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 &
Run Code Online (Sandbox Code Playgroud)

小智 27

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

我在 /etc/cron.d 中保存了一个文件,但它被忽略了。就我而言,这是因为我给文件一个扩展名。

mytask.cron没有用,但我将它重命名为mytask,它运行良好。

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

  • 现在 Debian/Ubuntu 上的 cron(8) 手册页相当清楚地记录了这一点:“对 /etc/cron.d 的支持包含在 cron 守护程序本身中 [...] 该目录中的文件 [...] 必须符合与 run-parts(8) 使用的命名约定相同:它们必须仅由大写和小写字母、数字、下划线和连字符组成。这意味着它们不能包含任何点。” (14认同)

use*_*517 17

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