「MediaWikiバックアップ/リストアを分かりやすく説明」の版間の差分
45行目: | 45行目: | ||
ディレクトリ個々に画像ファイルが入っていますので、これを1つのフォルダに保存し直します。これはメンテナンスツールの'''importImages.php'''を使う場合、1つのフォルダに入っているイメージで無いと保存出来ないのです。従って、イメージを1つのフォルダにまとめるためのフォルダを作成します。(ここでは'''tempimages'''という名前)環境によってフォルダ構成が異なると思いますが、そこは自分の環境に合わせてください<br /> | ディレクトリ個々に画像ファイルが入っていますので、これを1つのフォルダに保存し直します。これはメンテナンスツールの'''importImages.php'''を使う場合、1つのフォルダに入っているイメージで無いと保存出来ないのです。従って、イメージを1つのフォルダにまとめるためのフォルダを作成します。(ここでは'''tempimages'''という名前)環境によってフォルダ構成が異なると思いますが、そこは自分の環境に合わせてください<br /> | ||
cp /home/'''username'''/www/temporary/images/*/*/* /home/'''username'''/www/tempimages | cp /home/'''username'''/www/temporary/images/*/*/* /home/'''username'''/www/tempimages | ||
+ | |||
+ | ==== /sbin/cp: Argument list too long ==== | ||
+ | (引数リストが長すぎます)エラーと出てしまったので検索すると</br> | ||
+ | 以下のCPまたはMVで移動する</br> | ||
+ | mv /home/[User_name]/www/wiki/tmp/home/[User_name]/www/wikipage/images/*/*/* yyy/ /home/[User_name]/www/wiki/tmp/tempimages | ||
+ | ↓ | ||
+ | find xxx/ -name "*.csv" -print0 | xargs -0 -I {} mv {} yyy/ | ||
+ | </br> | ||
+ | find /home/[User_name]/www/wiki/tmp/home/[User_name]/www/wikipage/images/*/*/* -name "*" -print0 | xargs -0 -I {} mv {} /home/[User_name]/www/wiki/tmp/tempimages | ||
+ | |||
+ | |||
次にメンテナンスツールの'''importImages.php'''を使ってインポートします<br /> | 次にメンテナンスツールの'''importImages.php'''を使ってインポートします<br /> | ||
php maintenance/importImages.php /home/'''username'''/www/tempimages/ | php maintenance/importImages.php /home/'''username'''/www/tempimages/ | ||
これでインポート完了です<br /> | これでインポート完了です<br /> | ||
+ | |||
=== (4).htaccessの編集 === | === (4).htaccessの編集 === | ||
さくらのインターネットでは.htaccessのOptions、AllおよびFollowSymlinksは指定できないため。/images配下の.htaccessのOptionsを削除します | さくらのインターネットでは.htaccessのOptions、AllおよびFollowSymlinksは指定できないため。/images配下の.htaccessのOptionsを削除します |
2020年4月20日 (月) 13:03時点における版
自分でサイト作っておきながら説明が非常に見にくかったので再度追加説明
目次
必要なツール類
以下のツールがあると便利です
- Poderosa Terminal
- FileZilla Client
各々はSSHログインターミナルソフトとFTPソフトです。このあたりは自分の使いやすいソフトを用意してください。
バックアップ方法
データベースのバックアップ
MediaWikiが動いているフォルダに移動して以下のコマンドを実行します。
php maintenance/dumpBackup.php --full > backup.xml
そうすると、データベースがbackup.xmlという名前で保存されます
LocalSettings.phpのバックアップ
サイトの運用情報が保存されているLocalSettings.phpを保存します
ファイル類のバックアップ
イメージ(./images)を圧縮形式でバックアップします
tar -zvcf wiki-images-backup.tar.gz /home/username/www/images
CSSとか(./skins)を圧縮形式でバックアップします
tar -zvcf wiki-skins-backup.tar.gz /home/username/www/skins
- 拡張機能(./extensions)を圧縮形式でバックアップします
tar -zvcf wiki-extensions-backup.tar.gz /home/username/www/extensions
- 設定ファイル(./config)を圧縮形式でバックアップします
tar -zvcf wiki-config-backup.tar.gz /home/username/www/config
とりあえずこれぐらいバックアップしておけばリストアできると思います
メインページの保存
メインページのみ編集を押してWiki構文そのものの内容をコピーしてテキストファイルに保存しておきます
リストア方法
MediaWikiのリストア(復旧)方法です
(1)MediaWikiのインストール
MediaWikiのリストア(復旧)先のサーバに素の状態のMediaWikiをインストールしてください
(2)データベースをリストア(復旧)
dumpBackup.phpを使用した場合はMediaWikiのリストア(復旧)先のディレクトリに移動して以下のコマンドを入れてください
※バックアップファイル名がbackup.xmlの場合で、そのbackup.xmlがMediaWikiのリストア(復旧)先のディレクトリにあるとします
php maintenance/importDump.php < backup.xml
インポート開始(表示)にかなり時間がかかります(データ数によっては10分以上かかってからスタート)が、成功すればDone!と出て成功します。
(3)ファイル類のリストア(復旧)
images関係のリストア(復旧)ですが、これはただ単にディレクトリをコピーすれば良いわけでは無く、MediaWikiのmaintenance/importImages.phpを利用してインポートする必要があります。このインポート方法はMediaWikiの画像リストアのためにあるわけでは無く、画像データを一括でMediaWikiへインポートする機能を流用して画像リストアを行います。
まず、バックアップを取ったイメージファイル(wiki-images-backup.tar.gz)を適当な解凍用フォルダを作成して(ここではtemporaryという名前)フォルダtemporaryにコピーします。
次にフォルダtemporaryに移動して以下のコマンドを入れます
tar zxvf wiki-images-backup.tar.gz
フォルダtemporary配下にバックアップを取ったディレクトリ構成で解凍されます
ディレクトリ個々に画像ファイルが入っていますので、これを1つのフォルダに保存し直します。これはメンテナンスツールのimportImages.phpを使う場合、1つのフォルダに入っているイメージで無いと保存出来ないのです。従って、イメージを1つのフォルダにまとめるためのフォルダを作成します。(ここではtempimagesという名前)環境によってフォルダ構成が異なると思いますが、そこは自分の環境に合わせてください
cp /home/username/www/temporary/images/*/*/* /home/username/www/tempimages
/sbin/cp: Argument list too long
(引数リストが長すぎます)エラーと出てしまったので検索すると
以下のCPまたはMVで移動する
mv /home/[User_name]/www/wiki/tmp/home/[User_name]/www/wikipage/images/*/*/* yyy/ /home/[User_name]/www/wiki/tmp/tempimages
↓
find xxx/ -name "*.csv" -print0 | xargs -0 -I {} mv {} yyy/
find /home/[User_name]/www/wiki/tmp/home/[User_name]/www/wikipage/images/*/*/* -name "*" -print0 | xargs -0 -I {} mv {} /home/[User_name]/www/wiki/tmp/tempimages
次にメンテナンスツールのimportImages.phpを使ってインポートします
php maintenance/importImages.php /home/username/www/tempimages/
これでインポート完了です
(4).htaccessの編集
さくらのインターネットでは.htaccessのOptions、AllおよびFollowSymlinksは指定できないため。/images配下の.htaccessのOptionsを削除します
(5)その他のファイルのリストア(復旧)
画像以外であれば解凍してそのまま同じフォルダに保存すれば良いです
(5)LocalSettings.phpのリストア(復旧)
LocalSettings.phpを上書きして終了
ただし、リストア先が全く同じサイトであれば良いですが細かい情報が変わる場合には修正をしてください