簡體   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