「MediaWikiバックアップ/リストアを分かりやすく説明」の版間の差分

提供: dococo wiki
ナビゲーションに移動 検索に移動
imported>Webmaster
 
(2人の利用者による、間の8版が非表示)
5行目: 5行目:
 
#FileZilla Client
 
#FileZilla Client
 
各々はSSHログインターミナルソフトとFTPソフトです。このあたりは自分の使いやすいソフトを用意してください。<br />
 
各々はSSHログインターミナルソフトとFTPソフトです。このあたりは自分の使いやすいソフトを用意してください。<br />
 +
== バックアップ方法 ==
 +
=== データベースのバックアップ ===
 +
MediaWikiが動いているフォルダに移動して以下のコマンドを実行します。<br />
 +
php maintenance/dumpBackup.php --full > backup.xml
 +
そうすると、データベースがbackup.xmlという名前で保存されます<br />
 +
=== LocalSettings.phpのバックアップ ===
 +
サイトの運用情報が保存されているLocalSettings.phpを保存します<br />
 +
=== ファイル類のバックアップ ===
 +
イメージ(./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構文そのものの内容をコピーしてテキストファイルに保存しておきます<br />
 +
 
== リストア方法 ==
 
== リストア方法 ==
 
MediaWikiのリストア(復旧)方法です<br />
 
MediaWikiのリストア(復旧)方法です<br />
14行目: 34行目:
 
  php maintenance/importDump.php < backup.xml
 
  php maintenance/importDump.php < backup.xml
 
[[File:2017-09-02_10-16-29.jpg|400px]]<br />
 
[[File:2017-09-02_10-16-29.jpg|400px]]<br />
少々時間がかかりますが、成功すれば'''Done!'''と出て成功します。<br />
+
インポート開始(表示)にかなり時間がかかります(データ数によっては10分以上かかってからスタート)が、成功すれば'''Done!'''と出て成功します。<br />
 +
 
 
=== (3)ファイル類のリストア(復旧) ===
 
=== (3)ファイル類のリストア(復旧) ===
'''images関係のリストア(復旧)'''ですが、これはただ単にディレクトリをコピーすれば良いわけでは無く、MediaWikiのmaintenance/importImages.phpを利用してインポートする必要があります<br />
+
'''images関係のリストア(復旧)'''ですが、これはただ単にディレクトリをコピーすれば良いわけでは無く、MediaWikiのmaintenance/importImages.phpを利用してインポートする必要があります。このインポート方法はMediaWikiの画像リストアのためにあるわけでは無く、画像データを一括でMediaWikiへインポートする機能を流用して画像リストアを行います。<br />
<br />
+
まず、バックアップを取ったイメージファイル(wiki-images-backup.tar.gz)を適当な解凍用フォルダを作成して(ここでは'''temporary'''という名前)フォルダ'''temporary'''にコピーします。<br /><br />
<br />
+
次にフォルダ'''temporary'''に移動して以下のコマンドを入れます<br />
<br />
+
tar zxvf wiki-images-backup.tar.gz
<br />
+
フォルダ'''temporary'''配下にバックアップを取ったディレクトリ構成で解凍されます<br />
<br />
+
[[File:2017-09-02_10-29-12.jpg|400px]]<br />
<br />
+
ディレクトリ個々に画像ファイルが入っていますので、これを1つのフォルダに保存し直します。これはメンテナンスツールの'''importImages.php'''を使う場合、1つのフォルダに入っているイメージで無いと保存出来ないのです。従って、イメージを1つのフォルダにまとめるためのフォルダを作成します。(ここでは'''tempimages'''という名前)環境によってフォルダ構成が異なると思いますが、そこは自分の環境に合わせてください<br />
<br />
+
cp /home/'''username'''/www/temporary/images/*/*/* /home/'''username'''/www/tempimages
<br />
+
 
<br />
+
==== /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 />
 +
php maintenance/importImages.php /home/'''username'''/www/tempimages/
 +
これでインポート完了です<br />
 +
 
 +
=== (4).htaccessの編集 ===
 +
さくらのインターネットでは.htaccessのOptions、AllおよびFollowSymlinksは指定できないため。/images配下の.htaccessのOptionsを削除します
  
圧縮したファイルがあると思いますので解凍してディレクトリにコピーします<br />
+
=== (5)その他のファイルのリストア(復旧) ===
#wiki-config-backup.tar.gz
+
画像以外であれば解凍してそのまま同じフォルダに保存すれば良いです<br />
#wiki-images-backup.tar.gz
 
#wiki-skins-backup.tar.gz
 
tmpというディレクトリを作成し(実際の名前は何でも良いですけど)、上記ファイルをコピーします<br />
 
そしてtmpというディレクトリへ移動し以下のコマンドで解凍します<br />
 
tar zxvf wiki-config-backup.tar.gz
 
tar zxvf wiki-images-backup.tar.gz
 
tar wiki-skins-backup.tar.gz
 
そうすると、tmp配下にバックアップしたディレクトリの構成そのものが解凍されます<br />
 
[[File:2017-09-02_10-29-12.jpg|400px]]
 
  
 +
=== (5)LocalSettings.phpのリストア(復旧) ===
 +
LocalSettings.phpを上書きして終了<br /><br />
 +
ただし、リストア先が全く同じサイトであれば良いですが細かい情報が変わる場合には修正をしてください<br />
 
----
 
----
 
<!-- ページ名を記入 -->
 
<!-- ページ名を記入 -->
 
[[Category:MediaWiki|バックアップ/リストアをわかりやすくせつめい]]
 
[[Category:MediaWiki|バックアップ/リストアをわかりやすくせつめい]]

2020年4月20日 (月) 13:07時点における最新版

自分でサイト作っておきながら説明が非常に見にくかったので再度追加説明

必要なツール類

以下のツールがあると便利です

  1. Poderosa Terminal
  2. 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

2017-09-02 10-16-29.jpg
インポート開始(表示)にかなり時間がかかります(データ数によっては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配下にバックアップを取ったディレクトリ構成で解凍されます
2017-09-02 10-29-12.jpg
ディレクトリ個々に画像ファイルが入っていますので、これを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を上書きして終了

ただし、リストア先が全く同じサイトであれば良いですが細かい情報が変わる場合には修正をしてください