繁体   English   中英

DRUPAL MULTISITE中的CRON作业

[英]CRON JOB IN DRUPAL MULTISITE

我有5个站点(Drupal多站点)。 我想执行在所有5个站点上运行cron.php的脚本。

0 0 * * * wget -O - -q -t 1 h**p://site1/cron.php

0 0 * * * wget -O - -q -t 1 h**p://site2/cron.php  
...

脚本如何分析域名并在shell命令中执行?

最重要的是确定所有站点是否都需要运行Cron。 如果多站点使用相同的数据库,则没有必要:只需对“主”站点运行一次。

如果您有多个数据库,则由于性能调整和资源可用性,通过cron通过一个为每个站点运行该脚本的脚本可能仍然不是一个好主意。 如果同时有数百个站点打开HTTP套接字以获取最新的推文,那么事情将变得cho塞。 最好的方法是将其传播到我们的漏洞:60个站点,一个接一个地运行cron。

就是说,这是一个bash脚本。 在Debian / Ubuntu机器上另存为/etc/cron.d/drupal

 for site in `find /path/to/drupal/sites/ -type d -name '*.*' -printf "%fname\n"`; do
   wget -O - -q -t 1 http://$site/cron.php
   #you could do a "sleep 60" to wait a minute before calling the next cron here.
 done   

如果您的站点目录包含更多目录,则包含“ all,default和domainname.tld”,则您可能需要改进find( *.* )的正则表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM