而這些任務都被寫在 cron.php 這個檔案裡
所以必須讓系統定期的執行 cron.php 這個檔案,以維持 moodle 網站能正常運作
請一定要做這個步驟!
如果不確定系統中是否有排程套件(通常都會有),請先安裝
yum install cronie -y查看是哪個使用者在執行 apache 的網頁服務
grep -i user /etc/httpd/conf/httpd.conf找到下列這段文字
# If you wish httpd to run as a different user or group, you must run # User/Group: The name (or #number) of the user/group to run httpd as. # . On SCO (ODT 3) use "User nouser" and "Group nogroup". # suggested workaround is to create a user www and use that user. User apache目前 httpd 的 User 為 apache,這會影響待會要幫哪個使用者建立排程
接著幫使用者 apache 建立排程
crontab -u apache -e-u:幫使用者建立或移除 crontab 的工作排程
-e:編輯 crontab 工作內容
詳細排程操作請參考鳥哥的私房菜:循環執行的例行工作排程
按『i』進入編輯,輸入下列文字,每隔 15 分鐘執行 cron.php 這個檔案
*請先確認自己moodle網頁資料存放在系統中的位置,以我為例是存放在『/var/www/html/moodle』
# Run the cron every 15 minutes */15 * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php存檔離開
重啟排程
service crond restart查看 apache 使用者的排程是否已經正確寫入
crontab -u apache -l這樣就完成讓系統定期執行 cron.php 的設定了
查看 cron 的 log 檔
less /var/log/cron*空白鍵、PageDown:下一頁、PageUp:上一頁、q:離開
可以看到指令每 15 分鐘會執行一次
May 2 13:15:01 localhost CROND[3046]: (apache) CMD (/usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null) May 2 13:30:01 localhost CROND[3078]: (apache) CMD (/usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null) May 2 13:45:01 localhost CROND[3112]: (apache) CMD (/usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null) May 2 14:00:01 localhost CROND[3148]: (apache) CMD (/usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null)
參考文章:Feiticeir0's Blog、MoodleDocs
沒有留言 :
張貼留言