You are here

Linux 下面Crontab配置

作者:老葛 亚艾元软件

配置Drupal的定时任务,常用linux下面的/etc/crontab,但是这次的配置怎么都不起作用。

问了专门配置服务器的工程师,告诉我可以使用crontab -l, crontab -e命令行配置。

   配置以后,仍然没有起作用。后来使用了一个替代方法,经过观察,效果不行。后来又研究这个crontab的配置。

   查找cron的日志,在/var/logs目录下面没有发现cron的日志。不过后来发现了syslog日志。

   打开一看,里面有这样的信息:

Error: bad minute; while reading /etc/crontab

Error(Syntax error, this crontab file will be ignored)

   看到日志,让我对于解决这个问题信心大增。

   从日志里面可以看出来,自己在/var/spool/cron/crontabs/root下面生成的rootcrontab配置,里面有问题:

  0/10 * * * * root wget -O - http://example.com/cron.php >/dev/null 2>&1

  我大概是这么配置的,在/var/spool/cron/crontabs/里面的crontab配置,配置里面不需要添加用户名。改为下面的配置就好了:

0/10 * * * * wget -O - http://example.com/cron.php >/dev/null 2>&1

 

中间还有一个问题:

No MTA installed, discarding output,

一直报这个信息。这是由于有时候需要发送邮件,但是我们没有配置邮件发现相关信息。

crontab里面的指令,后面追加:

>/dev/null 2>&1

后面的这段代码,是为了解决这个问题追加的。

 

此外,我还专门看到了ibm的crontab文档:

https://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.cmds1/crontab.htm

里面对这个命令的讲解有详细的介绍。我怀疑,可能由于自己没有配置cron.allow, cron.deny两个文件导致的,或者其它原因。平时的服务器没有遇到过这样的问题,这次的服务器是由vagrant虚拟出来的。


论坛:

Drupal版本: