バックアップとリストアに関するFAQ

内容

コースをバックアップする方法

コースバックアップ自動バックアップ設定を参照してください。

コースをリストアする方法

コースのリストアを参照してください。

自分のサイトをバックアップする方法

サイトのバックアップを参照してください。

サイトバックアップと比較した場合の長所と短所は何ですか?

すべてのデータを最高の信頼性と最短の復旧時間で保存するために、 サイトバックアップをお勧めします。

サイト管理者にとって、 自動コースバックアップは、時間、CPU使用率、およびストレージの点でより高価です。サイトを再稼働させるための回復時間は、サイトのバックアップよりも長くなります。しかし、教師やサイト管理者は、コースのバックアップを再利用できるコースの「新しい」コピーを作成する方法として見つけることができます(古いバージョンのMoodleでは、 コースデータのインポートを参照)。他のMoodleサイトにコースを配布する。

自動コースバックアップのサイズが手動コースバックアップのサイズよりはるかに小さいのはなぜですか?

これは意図的な設計上の決定です。ファイルがMoodle 2.xに保存される方法のため、あなたがそれらを同じMoodleサイトにリストアすることを計画しているならば、バックアップにファイルを含める必要はありません。そのままにしておくと、大量のディスク容量が節約され、バックアップ手順がはるかに高速になります。

コースバックアップに含まれていないデータは何ですか?

バックアップを設定するときにすべてのオプションを選択すると、コース内のほとんどすべてのデータを含めることができます。ただし、いくつかのことはバックアップされていないという事実に注意する必要があります。

  • 小テストの問題は、そのカテゴリからの問題が少なくとも1つ小テストに追加されている場合にのみバックアップされます。
  • 評価尺度は、少なくとも1つの活動で使用されている場合にのみバックアップされます。
  • [登録ユーザーを含める]オプションが選択されていると、ユーザーのパスワードはバックアップされません。
  • 用語集データ
  • バッジ - 少なくとも1人のユーザーに授与されておらず、ユーザーがコースバックアップに含まれていない場合。

プロセスは「エラー:古いバックアップデータの削除中にエラーが発生しました」で終了します。私は何をすべきか?

バックアップ(またはリストア)手順のこの部分では、以前の実行で使用された古い情報を削除しようとし、次のタスクを実行します。

  1. "backup_ids"テーブルから古いレコードを削除します。テーブルが存在することを確認し、修復してからやり直してください。
  2. "backup_files"テーブルから古いレコードを削除します。テーブルが存在することを確認し、修復してからやり直してください。
  3. "moodledata / temp / backup"から古いファイルを削除してください:ディレクトリを完全に削除してやり直してください。
バックアップエラーメッセージ

ポイント1と2では、MySQL Adminの使用を含め、テーブルを修復するさまざまな方法があります。

ポイント3については以下を参照してください。

エラーメッセージは、「ディレクトリが空ではない」ことを示し、そのディレクトリへのパスを示します。あなたがFTPプログラムでそこに行くなら、あなたはそこにあるものを見て、片付けることができます。残っているのは、空のサブフォルダだけかもしれません。これらを削除することは助けになりました。 "moodledata / temp / backup"ディレクトリを完全に削除することもできます。それは少し長くかかることがありますが、一度にいくつかの問題を解決するかもしれません。

プロセスは「XMLエラー:行YYYYの整形式ではない(無効なトークン)」で終了します。私に何ができる?

この問題は、リストアプロセスのどの時点でも発生する可能性があります。これは、XMLパーサーがバックアップファイル内で正しくない操作を妨げるような不正なものを検出したために発生します。通常、それはそれらを含むテキストのコピー/貼り付け(制御文字、または無効なシーケンスなど)が原因で元のコースに追加されたいくつかの「不正な」文字によって引き起こされます。

この問題を処理するための最良の方法は、次のとおりです。

  • 問題のあるバックアップファイルを1つの空のフォルダに解凍します。
  • Firefoxでmoodle.xmlを開きます。問題が発生している場所(正確な文字)が表示されます。
  • UTF-8互換のエディタでmoodle.xmlファイルを編集して、そのような文字を削除します。変更内容を保存。
  • エラーが表示されなくなるまで、Firefoxでmoodle.xmlファイルをもう一度テストします。
  • もう一度すべてを圧縮します(フォルダの内容はすべて、フォルダ自体は対象外です)。
  • コースを元に戻します。今動作するはずです。
  • リストアしてもまだ動作しない?次の質問を見てください。

また可能であれば、Moodle自体からも元のコースでこれらの問題を解決することを強くお勧めします。いったんそこで「修復」されると、将来新しいバックアップファイルを作成すると問題が発生します。

プロセスは「moodle xmlがzipファイルのルートレベルで見つかりません」で終了します。私に何ができる?

zipファイルのバックアップからリストアする場合は、moodle.xmlファイルがルートレベルにあることを確認してください。これを確実にするために:

  1. コースのバックアップファイルを解凍します(例:mycourse.zip)
  2. ファイルが解凍されたら、フォルダを開きます(例:mycourse)。
  3. mycourseフォルダとmoodle.xmlファイル内のフォルダを選択し、それらのアイテムのzipファイルを作成します(例:mycourse_new.zip)
  4. 新しいzipファイル(例:mycourse_new.zip)をアップロードして、そこからリストアしてください。

バックアップファイルが正しいことが保証されている場合は、外部ファイルへのパス(zip、unzip)を確認してください。設定が間違っていると、このエラーメッセージも表示されます(Using Moodleフォーラムのディスカッションmoodle.xmlがrootに見つかりません...およびMDL-14812を参照 )。

プロセスは「zipファイルのコピー中にエラーが発生しました...」で終了します。

この問題は、転送先ディレクトリのアクセス許可の問題が原因で発生している可能性があります。バックアップファイルは、データルートディレクトリの下の "XXX / backupdata"にコピーされます(XXXは、バックアップされるコースのIDです)。

この問題は、ディスクがいっぱいになっていることも原因と考えられますが、これははるかに可能性が低いです。

何が起こっているのか正確な情報を得るために、 Administration> Server> Debugging (最大レベルを選択 - DEVELOPER)でデバッグメッセージを有効にしたり、Webサーバーのエラーログをチェックすることができます。

それでもXMLエラーが発生します。壊れたXMLファイルをきれいにするにはどうすればいいですか?

場合によっては、前の質問で説明した手順を実行した後でも、XMLバックアップファイルにリストアプロセスが中止される原因となる文字が含まれていることがあります。そのような場合は、次のことを試してください。

  • 問題のあるMoodleバックアップファイルを1つの空のフォルダに解凍します。 Moodleは、汚れたmoodle.xmlファイルである限りコースファイルフォルダを作成します。 Moodleの解凍機能を使用して解凍してください。
  • unclean moodle.xmlファイルの名前をmoodle-unclean.xmlに変更します。
  • あなたのMoodleサーバのコマンドプロンプトにアクセスできない場合は、Moodleのzip機能を使用して、moodle-unclean.xmlファイルのみを圧縮し、zipファイルをローカルにダウンロードして解凍してください。オペレーティングシステムから別のシステムに転送するときに不要な文字エンコードを避けるために、zip形式でxmlファイルをダウンロードすることが非常に重要です。
  • ダウンロードしたAtlassian XML Cleaner Utilityを、moodle-unclean.xmlファイルと同じフォルダに移動してください。
  • コマンドプロンプトから次のコマンドを発行します。
 java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml> moodle.xml
  • ローカルコンピュータでユーティリティを起動した場合は、作成した(そしてうまく行けばきれいにした)moodle.xmlファイルをzipし、moodle-unclean.xmlファイルをダウンロードした場所と同じ場所にアップロードします。アップロードしたら、Moodleの解凍機能を使用して解凍します。
  • もう一度すべてを圧縮します(フォルダの内容以外はすべてフォルダ自体)。
  • コースを元に戻します。今動作するはずです。

「一部のコースが保存されませんでした」とはどういう意味ですか?

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

  1. エラー - これは、バックアップ手順でエラーが見つかり、特定のコースのバックアップが完了していない場合に発生します。これらは「制御された」エラーであり、スケジュールされたバックアップは次のコースに続きます。
  2. 未完成 - これは、バックアップ手順が原因を知らずに死んだときに起こります。次にcronが実行されると、最後の実行が失敗したことを検出し、問題のあるコースをスキップし続けます。可能な解決策はあなたのインストール環境でのPHP / Apacheの制限(メモリ、実行時間...)を上げることでしょう。ログテーブルを見てみると、 "クラッシュ"が正確な時間間隔で発生しているか(通常はmax_execution_time php変数の問題)、または正確な点があるかどうかを確認できるはずです。
  3. スキップ - これは、コースが学生に利用できず、先月(31日)に変更されていない場合に発生します。これはエラーの状況ではありません - これは機能で、利用できない古いコースが多数あるサイトには特に便利です。処理時間を節約できます。

一部のコースがスキップされているのはなぜですか?

自動バックアップのスキップ設定
Moodleのコースバックアップルーチンは、 管理>サイト管理>コース>バックアップ>自動バックアップ設定の 3つの設定に基づいてコースを自動的にスキップするように指示されています。 Moodle管理者はこれらの設定を使用して、 非表示のコーススキップする(デフォルトでは 'はい')、 変更しないコースをスキップする (既定で '30日')、 前回のバックアップ以降変更しないコーススキップする (デフォルトでは 'No'に設定されています)。有効な基準のいずれかを満たすコースは、次回のコースバックアップの実行中にスキップされます。

リストアが完了せずに停止するのはなぜですか。

コースをバックアップしたバージョンよりも古いバージョンのMoodleにコースをリストアしようとすると、リストアプロセスが完了しない可能性があります。リストアを確実に成功させるために、あなたがコースをリストアしているMoodleのバージョンが、そのコースがバックアップされたバージョンと同じか、より新しいことを確認してください。

エラーが表示されずに突然停止した場合は、 デバッグをオンにしてもう一度試してください。現在表示されているエラーはすべて、サポートフォーラムの専門家があなたの問題を診断するのに役立ちます。さらにアドバイスが必要な場合は、以下の関連項目セクションでディスカッションリンクを確認することもできます。

「バックアップファイルからユーザーxxxxをリストアしようとすると競合が発生します。」というメッセージが表示されてリストアが停止する

このメッセージは次の場合に表示されます。

  1. ターゲットサイトにはユーザーxxxx(xxxxはユーザー名)があります。多くの場合、管理者ユーザーです。
  2. リストアされるバックアップアーカイブには、ユーザーxxxx(同じユーザー名)も含まれています。
  3. さまざまな比較の結果、Moodleはターゲットサイトのユーザーxxxxとバックアップユーザーxxxxは同一人物ではないと判断しました。

1、2、3がすべて当てはまる場合、バックアップユーザーxxxxの活動(フォーラム投稿、小テストの試み、課題のアップロードなど)がターゲットサイトのユーザーxxxxに関連付けられないようにするために、リストアプロセスが停止します。

xxxxユーザーを一致させる(および競合を解決する)ための考えられる方法は次のとおりです。

a)バックアップアーカイブのusers.xmlファイルを変更し、 emailフィールドまたはfirstaccessフィールドをターゲットサイトのものと一致させます。 moodle-filename-backupに注意してくださいmbzはzipファイルで、 moodle-filename-backupに名前を変更することができますジップと解凍。編集が完了したら、再度zipしてから、元のファイル名を使用して拡張子「* .mbz」を付けて名前を変更します。

b) ターゲットサイトを変更し、バックアップアーカイブのusers.xmlファイル内のものと一致するように、ユーザのemailフィールドまたはfirstaccessフィールドを設定します。

c)Moodle 3.0.3以降および管理者ユーザの競合のみ、 サイト管理>コース>バックアップ>一般インポートのデフォルトで [管理者の競合解決を許可する]設定を有効にします。これにより、バックアップファイルのユーザー名が「admin_xyz」に変更されます。

修復されたコースで特定のコースリンクが切断されるのはなぜですか?

活動間リンクは絶対(完全)URLでなければなりません。
 https://site.com/mod/resource/view.php?id=xxx 
バックアップおよびリストア中に正しく処理されるようにするため。任意の相対URL
 /mod/resource/view.php?id=xxx 
 ../resource/view.php?id=xxx 
または
 view.php?id = xxx 
コースがリストアされるとリンク切れになります。

コースをリストアすると、HTMLタグが壊れます。私に何ができる?

これはlibxml2とPHPの古いバージョンによって引き起こされることが知られています - それらを最新バージョンに更新してみてください。

Moodleバックアップファイルからオリジナルファイルを抽出するにはどうすればいいですか?

(バックアップとリストア機能を使用して)ダウンロードしたバックアップファイル( ".mbz"ファイル)から元のファイルを本当に取得したい場合は、上記の方法とほとんど同じ方法で実行できます。

バックアップファイルは、ダウンロード可能な任意のzip / unzipプログラムで実際に開くことができます。ファイルを開いたら、次のファイルを抽出する必要があります。

 files.xmlファイル。
   ファイルディレクトリ(フォルダ)。

次のステップは、 "files.xml"ファイルをテキストエディタで開くことです。

取得したい各ファイルの名前を検索します。
   対応するcontenthashタグの値を書き留めます。
   抽出した "files"フォルダで、contenthashの値と同じ名前で、常にファイル名の最初の2文字に対応する名前のフォルダにあるファイルを探します。

たとえば、 "files.xml"ファイルと "files"フォルダが抽出された "backup_courses-120730.mbz"ファイルがあるとしましょう。他の目的に必要な "Leadership.pdf"という名前のPDFファイルがあります。

files.xmlファイルを開き、次の手順を実行します。

1. "Leadership.pdf"という文字列を検索します。この場合、これは次の<file id ...>グループタグの下にあります。

 <file id = "12345">
 <contenthash> fb6cf43a9b2d432403c70a2cb4c340dbb6225631 </contenthash>
              :
 <filename> Leadership.pdf </filename>
              :
 <license> allrightsreserved </license>
 <sortorder> 1 </sortorder>
 </file>

2.対応するコンテンツハッシュ値(fb6cf43a9b2d432403c70a2cb4c340dbb6225631)を書き留めます。

3. contenthashの最初の2文字が "fb"であるため、 "files"ディレクトリ(以前に抽出された)内の "fb"フォルダを開くと、 "fb6cf43a9b ..."というファイルがあります。そのファイルの名前を "Leadership.pdf"に変更してから、別の場所に移動します。もちろん正しいcontenthash値を使用して、必要なすべてのファイルに対してこれを繰り返します。

Moodle 2.2以前からの課題を含むバックアップをリストアするとどうなりますか?

課題活動モジュールは、Moodle 2.3で完全に書き直されました。したがって、Moodle 2.2以前からの課題(例:Moodle 1.9からの課題)は引き続き使用するためにアップグレードする必要があります。対処方法の詳細は、 課題アップグレードツールの 「Moodle 2.2以前からのコースバックアップのリストア」のセクションをご覧ください。

コースをリストアするときのMySQL dmlwriteexceptionエラー

コースをリストアするときにdmlwriteexceptionエラーが発生した場合は、InnoDBテーブルをBarracudaファイル形式に変換することをお勧めします。これが推奨される理由と、テーブルを変換するためのツールに関する情報の詳細については、 コマンドラインによる管理の 「InnoDBテーブルからBarracudaへの変換」のセクションを参照してください。

さらに質問がありますか?

moodle.orgのバックアップとリストアのフォーラムに投稿してください。

関連情報

Moodleフォーラムのディスカッション: