MoodleをAWS上で構築しています。Moodleの運用に欠かせないのがcron.phpの定期的な実行です。
Moodleが用意しているcron.phpがMoodleを運用していく上で欠かせないことをやってくれます。
cronは必要な機能を定期的に実行することができるスケジューリングタスクです。Moodleではこのcron.phpを動かして運用するのが前提となっています。
cron.phpの場所
cron.phpはmoodleディレクトリ以下、adminフォルダの中にあります。場所を確認して動かします。
このコマンドを動かす前に実際に動いたときのログをファイルに取っておきたい。そのためテキストに実行ログをリダイレクトさせます。
cron.phpが動いたときのログファイルを用意する
・/var/log 以下に「cronlog.log」というログファイルを作る
・作ったログファイルを書き込めるように書き込み権限を与える
で、作ったログファイルに実行ログが出力されるようにcron.phpを実行します。
実行後、コンソールの様子。SMTPの設定をしていないのでエラーが出ています。
実行した結果が/var/log/cronlog.logに出力されます。
Execute scheduled task: 古いセッションを削除する (core\task\session_cleanup_task)
… started 12:24:41. Current memory use 15.5MB.
… used 8 dbqueries
… used 0.015720129013062 seconds
Scheduled task complete: 古いセッションを削除する (core\task\session_cleanup_task)
Execute scheduled task: 確認未了のユーザを削除する (core\task\delete_unconfirmed_users_task)
… started 12:24:41. Current memory use 16.8MB.
… used 1 dbqueries
… used 0.00033712387084961 seconds
Scheduled task complete: 確認未了のユーザを削除する (core\task\delete_unconfirmed_users_task)
Execute scheduled task: 不完全なユーザを削除する (core\task\delete_incomplete_users_task)
… started 12:24:41. Current memory use 16.8MB.
・・・・・・・
実行ログからもわかるように、古いセッションや登録途中で終わってしまっている中途半端なユーザーの削除など、お掃除を実施してくれています。
cron.phpを実行すると、Moodleの管理画面からも実行ログを確認することができます。『サイト管理>サーバ>タスク>タスクログ』でタスクログを確認します。
cron.phpをcron内に設定し、定期的に実行するようにします。crontab -e 編集画面を表示します。
cron.phpでどのタスクが実行するかをMoodle上で設定することができます。『サイト管理>サーバ>タスク>スケジュールタスク』で設定できます。
世の中ローコード、とかノーコー…