Moodleバックアップ - RとLinuxと...

RとLinuxと...


Moodleバックアップ

Wikiの備忘録

クラスごとのバックアップファイルは

/mnt/sdb3/study/moodledata

Moodleデータベースのバックアップは

/mnt/sdb3/moodle

そのスクリプトが

#/bin/sh
var=$(date +%m%d)
file=/mnt/sdb3/moodle/moodle.${var}.sql 
mysqldump -u**** -p*** -C -Q -e -a moodle > $file

になっている.

~$ crontab -l
# m h  dom mon dow   command
#  */5 * * * * /home/*****/MoodleCron.sh
*/5 10-17 * * 3,5 /home/*****/MoodleCron.sh
00 05 * * 1 /home/*****/MoodleData.sh
  • 以下は,新規に作成されたコースがある場合,バックアップ時に古いバックアップがない関係でエラー表示となる.次回以降は問題なくなる.
    • コースのいくつかが保存されていない!

この問題の原因は3つ考えられます。

  • 1. エラー - バックアップ作業がエラーを見つけて特定のコースのバックアップが終了しなかったときに起きます。これらは「制御された」エラーであり定期バックアップは次のコースから続けられます。
  • 2. 終わっていない - バックアップ作業が未知の原因で中止されたときに起きます。cronが次に実行されたとき、それは前回の実行が異常だったことを検知して、その問題のコースをスキップして続けます。考えられる解決策としては、インストールの際のPHP/Apacheの上限を引き上げることかもしれません(メモリー、実行回数など)。ログテーブルを見ることでその「クラッシュ」が正確にいつ起きたかを見つけることができるでしょうし(通常はphpの変数である max_execution_timeに伴う問題です)、すべてのコースが壊れているポイントを正確に見つけることができるかもしれません(通常は内部の zipライブラリのためで、代わりに外部の実行ファイルを試してみてください)。
  • 3. スキップされた - そのコースが生徒たちから見えなくて1ヶ月間(31日)修正されていなかったときに起きます。処理時間を節約するためにこのタイプのコースはスキップされます。これは間違った状況ではなくて機能であり、バックアップする必要のないたくさんの見ることのできない古いコースがあるサイトで特に便利です。
 
Link: Wikiの備忘録(2591d)
Last-modified: 2009-04-23 (木) 08:37:02 (3466d)