我的 crontab 没有运行,我想找出原因。我在 /etc/cron.d 中创建了一个符号链接(symbolic link)到 /var/www/mysite.crontab

user@ip-xxxxxxxxxx:/etc/cron.d$ ll
total 20
drwxr-xr-x  2 root root 4096 Apr 11 03:48 ./
drwxr-xr-x 96 root root 4096 Apr 16 00:50 ../
lrwxrwxrwx  1 root root   30 Apr 11 03:47 mysite.crontab -> /var/www/mysite.crontab
-rw-r--r--  1 root root  124 Feb 27  2012 drupal7
-rw-r--r--  1 root root  544 Sep 12  2012 php5
-rw-r--r--  1 root root  102 Apr  2  2012 .placeholder

实际的 cron 文件是...
#Purge old deals
4 1 * * * www-data wget -q -O- http://www.mysite.com/cron/clean > /dev/null 2>&1;

最佳答案

奇怪的是,问题出在文件名上。当 . 存在于 /etc/cron.d 目录中时,不允许将 database.c 用作文件名的一部分。
这个逻辑在 valid_name 文件中,在函数 mysite 中。将文件重命名为 mysite_crontab 之类的内容应该可以解决问题。
通常,文件名可能只是一个简单的名称 /etc/cron.d,因为它在这个目录中意味着它已经是一个 cron 文件。
指向的文件必须由 root 拥有,这在支持 ojit_code 目录的手册页中说明:

关于linux - Crontab 没有运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16035983/

10-15 05:15