「サイトバックアップ」の版間の差分
Mitsuhiro Yoshida (トーク | 投稿記録) (→データベース) |
Mitsuhiro Yoshida (トーク | 投稿記録) (Done!) |
||
(同じ利用者による、間の18版が非表示) | |||
1行目: | 1行目: | ||
最良の信頼性および復旧時間を短くするため、すべてのデータを保存するサイトバックアップをお勧めします。 | |||
= 何をバックアップすべきですか? = | = 何をバックアップすべきですか? = | ||
10行目: | 8行目: | ||
# '''Moodleコード'''を含むファイル | # '''Moodleコード'''を含むファイル | ||
あなたのMoodleに関して、これらすべてのデータがどこにあるのか、'''config.php''' | あなたのMoodleに関して、これらすべてのデータがどこにあるのか、'''config.php'''により確認することができます。どのデータベースおよびデータを使用すべきか、Moodleに伝えるため、いくつかのパラーメータがあります: | ||
# '''$CFG->dataroot''' では、データファイルをどこに保存するか、コントロールします。そして、 | # '''$CFG->dataroot''' では、データファイルをどこに保存するか、コントロールします。そして、 | ||
# '''$CFG->dirroot''' では、Moodleコードが保存される場所を示します。 | # '''$CFG->dirroot''' では、Moodleコードが保存される場所を示します。 | ||
20行目: | 18行目: | ||
あなたがMoodleをバックアップするには、2つの中心的なデータがあります - データベースおよびアップロードファイルです。あなたが必要な場合、いつでも最新のデータをダウンロードできるため、Moodleスクリプト自体は、それほど重要ではありません。 | あなたがMoodleをバックアップするには、2つの中心的なデータがあります - データベースおよびアップロードファイルです。あなたが必要な場合、いつでも最新のデータをダウンロードできるため、Moodleスクリプト自体は、それほど重要ではありません。 | ||
バックアップには、数多くの方法があります。以下、あなたがUnixでデータベースをバックアップするための、小さなスクリプトの概略です (cronタスクを使って、日々動作させるスクリプトとして有用です): | |||
cd /my/backup/directory | cd /my/backup/directory | ||
29行目: | 27行目: | ||
=== 文字コード === | === 文字コード === | ||
Moodleデータベースすべてをダンプする場合、管理者は起こり得る文字コード問題に関して、慎重になるべきです。場合によっては、[http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html mysqldump]または[http://www.phpmyadmin.net phpMyAdmin]によって作成されるバックアップは、すべてのデータを適切にエンコードできず、結果として文字化けが発生してしまいます。1つの解決方法は、MySQL Administrator 1.1または、データのUTF-8ダンプを強制する、別のツールを使用することです。 | |||
=== データベースバックアップ用ツール === | === データベースバックアップ用ツール === | ||
* [http://www.phpmyadmin.net phpMyAdmin] | * [http://www.phpmyadmin.net phpMyAdmin] 多くのウェブホスティングプロバイダが選択するツールです。 | ||
* [http://www.mysqldumper.de/en/ MySQLDumper] | * [http://www.mysqldumper.de/en/ MySQLDumper] MySQLデータベース用バックアップスクリプトです。PHPおよびPerlで書かれています。MySQLDumperでは、PHPスクリプト実行時の中断 (通常、最大実行時間は30秒です) を避けるための独自技術を使用しています。MySQLDumperは、上記で指摘された文字コード問題にも対応しています。また、圧縮ファイルでも動作します。 | ||
== データファイル == | == データファイル == | ||
ファイルに関して、変更されたファイルのみ別のホストにコピーするため、あなたは定期的に'''rsync'''コマンドを使用することができます: | |||
rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/ | rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/ | ||
あなたが、Moodleを動作させているマシンでcronスクリプトを実行させたい場合、次のrsync構文を使用してください: | |||
rsync -auvtz --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/ | rsync -auvtz --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/ | ||
あなたが、rsyncのステータスメールでrootメールボックスを一杯にしたくない場合、次のrsync構文を使用してください: | |||
rsync -autzq --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/ | rsync -autzq --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/ | ||
あなたのMoodleホスティングプロバイダがsshを許可しない場合 (または、単に提供していない場合)、そしてあなたがユーザ名およびパスワードを使ってFTPアクセスできる場合、次のコマンドも使用できます: | |||
mkdir /tmp/remote-folder | mkdir /tmp/remote-folder | ||
59行目: | 56行目: | ||
rmdir /tmp/remote-folder | rmdir /tmp/remote-folder | ||
データベースすべてのバックアップは、次のコマンドで実行できます (cPanelウェブインターフェースでテスト済み): | |||
wget --http-user=username --http-password=password http://your-site.com:2082/getsqlbackup/moodle.sql.gz | wget --http-user=username --http-password=password http://your-site.com:2082/getsqlbackup/moodle.sql.gz | ||
そして、Moodleコードツリーすべてのバックアップは、次のコマンドで実行できます: | |||
wget --http-user=username --http-password=password http://your-site.com:2082/getbackup/backup-your-site.com-`date +"%-m-%d-%Y"`.tar.gz | wget --http-user=username --http-password=password http://your-site.com:2082/getbackup/backup-your-site.com-`date +"%-m-%d-%Y"`.tar.gz | ||
(webmin?) のような、他のウェブインターフェースでは、カスタマイズが必要だと思われます。 | |||
== コードファイル == | == コードファイル == | ||
あなたがMoodleコードをカスタマイズしていない場合、いつでも新しいコードをダウンロードすることができます。しかし、他のバックアップと共に、Moodleコードを独自に保存することは良い考え方です。これは、あなたがカスタマイズしている場合は、大変重要なこととなります。バックアップの手順は、データファイルのバックアップと同じです。 | |||
= サイトバックアップのリストア = | = サイトバックアップのリストア = | ||
あなたが上記インストラクションに従って、Moodleサイトのバックアップを作成した場合、あなたが作成したサイトバックアップのリストア方法を理解する必要があります。以下、リストア処理を実行するための基本的な手順です。 | |||
1. | 1. オリジナルのMoodleディレクトリを何か別の名称にリネームしてください (あなたは、まだ、Moodleディレクトリを保持していることになります)。そして、バックアップしたMoodleディレクトリまたは新しくダウンロードしたMoodleディレクトリをその場所に置いてください。 | ||
2. | 2. あなたが、MySQLを使用している場合、データベースのバックアップファイルの拡張子は、.sql、.gzまたは.tar.gzのようになります。拡張子が.tar.gzまたは.gzの場合、sqlファイルになるまで、解凍してください。 | ||
tar -xzvf moodlesqlfile.tar.gz | tar -xzvf moodlesqlfile.tar.gz | ||
3. | 3. あなたがMySQLを実行している場合、MySQLサーバで新しく作成したデータベースにSQLファイルをインポートします。いくつかのバックアップでは、Moodleが動作している同じデータベースに対して、インポートを試みますので、注意してください。これは、インストール済みMoodleにダメージを与えるデータベース問題を発生させる可能性があります。これをするための最良の方法は、新しいデータベースを作成して、その中にバックアップされたデータベースをリストアすることです。そして、Moodle設定ファイル「config.php」を修正して、新しいデータベースに接続するようにします (これにより、オリジナルのデータベースを保持することができます)。 | ||
あなたが新しいデータベースを作成した後、次のコマンドを実行します: | |||
mysql -p new_database < moodlesqlfile.sql | mysql -p new_database < moodlesqlfile.sql | ||
89行目: | 86行目: | ||
== 関連情報 == | == 関連情報 == | ||
*[[ | *[[バックアップおよびリストアFAQ]] | ||
*[[ | *[[自動コースバックアップ]] | ||
* | *[[アップグレード]]の「重要なデータをバックアップする」セクション | ||
*[http://www.moodletutorials.org/view_video.php?viewkey=e257e44aa9d5bade97ba Video showing how to backup a whole Moodle site (on Linux)] | *[http://www.moodletutorials.org/view_video.php?viewkey=e257e44aa9d5bade97ba Video showing how to backup a whole Moodle site (on Linux)] - 英語 | ||
*[http://youtube.com/watch?v=ufAmf_jm_p8 Video showing how to backup a whole Moodle site (on Windows)] | *[http://youtube.com/watch?v=ufAmf_jm_p8 Video showing how to backup a whole Moodle site (on Windows)] - 英語 | ||
[[Category:バックアップ]] | [[Category:バックアップ]] | ||
[[en:Site_backup]] | [[en:Site_backup]] |
2009年8月19日 (水) 16:29時点における最新版
最良の信頼性および復旧時間を短くするため、すべてのデータを保存するサイトバックアップをお勧めします。
何をバックアップすべきですか?
Moodleシステムは、下記3つの部分から成ります:
- データが保存されているデータベース、
- ディスクに保存された、アップロードおよびその他のデータファイル、
- Moodleコードを含むファイル
あなたのMoodleに関して、これらすべてのデータがどこにあるのか、config.phpにより確認することができます。どのデータベースおよびデータを使用すべきか、Moodleに伝えるため、いくつかのパラーメータがあります:
- $CFG->dataroot では、データファイルをどこに保存するか、コントロールします。そして、
- $CFG->dirroot では、Moodleコードが保存される場所を示します。
あなたのMoodleサイトのバックアップを作成する
データベース
あなたがMoodleをバックアップするには、2つの中心的なデータがあります - データベースおよびアップロードファイルです。あなたが必要な場合、いつでも最新のデータをダウンロードできるため、Moodleスクリプト自体は、それほど重要ではありません。
バックアップには、数多くの方法があります。以下、あなたがUnixでデータベースをバックアップするための、小さなスクリプトの概略です (cronタスクを使って、日々動作させるスクリプトとして有用です):
cd /my/backup/directory mv moodle-database.sql.gz moodle-database-old.sql.gz mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql gzip moodle-database.sql
文字コード
Moodleデータベースすべてをダンプする場合、管理者は起こり得る文字コード問題に関して、慎重になるべきです。場合によっては、mysqldumpまたはphpMyAdminによって作成されるバックアップは、すべてのデータを適切にエンコードできず、結果として文字化けが発生してしまいます。1つの解決方法は、MySQL Administrator 1.1または、データのUTF-8ダンプを強制する、別のツールを使用することです。
データベースバックアップ用ツール
- phpMyAdmin 多くのウェブホスティングプロバイダが選択するツールです。
- MySQLDumper MySQLデータベース用バックアップスクリプトです。PHPおよびPerlで書かれています。MySQLDumperでは、PHPスクリプト実行時の中断 (通常、最大実行時間は30秒です) を避けるための独自技術を使用しています。MySQLDumperは、上記で指摘された文字コード問題にも対応しています。また、圧縮ファイルでも動作します。
データファイル
ファイルに関して、変更されたファイルのみ別のホストにコピーするため、あなたは定期的にrsyncコマンドを使用することができます:
rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/
あなたが、Moodleを動作させているマシンでcronスクリプトを実行させたい場合、次のrsync構文を使用してください:
rsync -auvtz --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/
あなたが、rsyncのステータスメールでrootメールボックスを一杯にしたくない場合、次のrsync構文を使用してください:
rsync -autzq --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/
あなたのMoodleホスティングプロバイダがsshを許可しない場合 (または、単に提供していない場合)、そしてあなたがユーザ名およびパスワードを使ってFTPアクセスできる場合、次のコマンドも使用できます:
mkdir /tmp/remote-folder curlftpfs ftp://username:password@ftp.your-site.com /tmp/remote-folder rsync -auvtz --delete /tmp/remote-folder /my/local/backup/folder/ umount /tmp/remote-folder rmdir /tmp/remote-folder
データベースすべてのバックアップは、次のコマンドで実行できます (cPanelウェブインターフェースでテスト済み):
wget --http-user=username --http-password=password http://your-site.com:2082/getsqlbackup/moodle.sql.gz
そして、Moodleコードツリーすべてのバックアップは、次のコマンドで実行できます:
wget --http-user=username --http-password=password http://your-site.com:2082/getbackup/backup-your-site.com-`date +"%-m-%d-%Y"`.tar.gz
(webmin?) のような、他のウェブインターフェースでは、カスタマイズが必要だと思われます。
コードファイル
あなたがMoodleコードをカスタマイズしていない場合、いつでも新しいコードをダウンロードすることができます。しかし、他のバックアップと共に、Moodleコードを独自に保存することは良い考え方です。これは、あなたがカスタマイズしている場合は、大変重要なこととなります。バックアップの手順は、データファイルのバックアップと同じです。
サイトバックアップのリストア
あなたが上記インストラクションに従って、Moodleサイトのバックアップを作成した場合、あなたが作成したサイトバックアップのリストア方法を理解する必要があります。以下、リストア処理を実行するための基本的な手順です。
1. オリジナルのMoodleディレクトリを何か別の名称にリネームしてください (あなたは、まだ、Moodleディレクトリを保持していることになります)。そして、バックアップしたMoodleディレクトリまたは新しくダウンロードしたMoodleディレクトリをその場所に置いてください。
2. あなたが、MySQLを使用している場合、データベースのバックアップファイルの拡張子は、.sql、.gzまたは.tar.gzのようになります。拡張子が.tar.gzまたは.gzの場合、sqlファイルになるまで、解凍してください。
tar -xzvf moodlesqlfile.tar.gz
3. あなたがMySQLを実行している場合、MySQLサーバで新しく作成したデータベースにSQLファイルをインポートします。いくつかのバックアップでは、Moodleが動作している同じデータベースに対して、インポートを試みますので、注意してください。これは、インストール済みMoodleにダメージを与えるデータベース問題を発生させる可能性があります。これをするための最良の方法は、新しいデータベースを作成して、その中にバックアップされたデータベースをリストアすることです。そして、Moodle設定ファイル「config.php」を修正して、新しいデータベースに接続するようにします (これにより、オリジナルのデータベースを保持することができます)。
あなたが新しいデータベースを作成した後、次のコマンドを実行します:
mysql -p new_database < moodlesqlfile.sql