Moodleを使用していて突然「例外 – Failed to write cache file “[localcachedir]/mustache〜”」のエラーが表示されてサイトにアクセスできなくなりました。そのときの対応をまとめました。
ちなみに、使用しているサーバはさくらのレンタルサーバで、スタンダードプランです。File ZillaというFTPソフトを使用しています。

エラーの原因
今回の場合、サイトが開けなくなったのはおそらくサーバのディスク容量がいっぱいになったためと考えられました。このエラーが出てサイトにアクセスできなくなった時は相当な冷や汗をかきました…
Moodleの自動バックアップを有効にしていること、cronを頻繁に動作させていた(2分毎)から?そこまでの知識がなく分かりません…

解決策 その1:ディスク使用量を削減する
解決策は色々あると思いますが、まずディスク使用量を削除しました。以下の手順で行いました。
- File Zillaに接続する 。
- “/home/アカウント名/moodledata/temp/backup”のフォルダを削除する。この場合、バックアップフォルダも消えるので、必要なもの(最新のもの?)はPCに移す。

とりあえず、これでディスク使用量が減り、サイトにアクセスできるようになりました。
解決策 その2:cronの動作頻度を減らす
cron・・・
事前に「いついつになったら、このプログラムを動かしてね」と指示を出しておくと、その時間になったときに指定しておいたプログラムを動かしてくれるやつ
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:cron
Moodleをアップグレードした際、cronの設定を2分毎にしました。FTPソフト経由でバックアップされたデータを見ると、2分毎にデータが蓄積されていたことから、あっという間にディスク使用量がいっぱいになったのだと判断しました。
そこで、cronの設定を変更しました。
さくらのコントロールパネルにアクセスします。そして、「スクリプト設定」 ▶ 「CRON設定」を選択します。

「実行コマンド欄」に以下の文字を入力します。
cd /home/●●●/www/■■■/admin/cli ; /usr/local/bin/php cron.php |
●●●:アカウント名(契約時に送られてきた●●●.sakura.ne.jpの●●●の部分)
■■■:moodleのデータが入っているフォルダ名(FileZillaにコピーしたフォルダ)
「実行日時」は「日」に*/15と入力、そのほかの欄は*を入力すれば、15日毎にMoodleを起動してくれる設定。

解決策 その3:自動バックアップの頻度を減らす
サイトにアクセスできるようになったあとは、まず、「サイト管理」 ▶︎ 「コース」 ▶︎ 「バックアップ」 ▶︎ 「自動バックアップ設定」にアクセスして、Moodleの自動バックアップ設定を変更しました。具体的には以下の設定を行いました。本当に効果があるのかは分かりません…
- アクティブ → 有効
- スケジュールを週2から週1に変更
- 次より古いバックアップを削除する →「2日」とかにしてみた
- バックアップ最小保持数 → 「1」にしてみた

解決策 その4:古いバックアップデータを自動削除するように設定する
これも効果があるのかは分かりませんが、「サイト管理」 ▶︎ 「サーバ」 ▶︎ 「クリーンアップ」へと進み、「次より古い一次データファイルを削除する」の時間を1時間にしてみました。
以上の設定で、とりあえずその後エラーなくMoodleが使えています。同じエラーで困っている方のヒントになれば嬉しいです。
何か間違ったことや他の解決策があれば教えてください。
最後まで読んでいただきありがとうございました。
コメント