MediaWikiのバックアップ

提供: dococo wiki
ナビゲーションに移動 検索に移動
せっかく作った自分のサイトもどういうタイミングで消失するか分かりませんので、MediaWikiのバックアップ方法について説明したいと思います
[本家のサイト]を参照しながら、説明したいと思います
本家にあるように、Mediawikiは2つの大きな情報を持っています
  • データベース
  • ファイルシステム
この2つがあるために、単純にサイトのファイルを全部持ってきてもファイルシステムはバックアップできますが、データベース側のバックアップが取れないので、2つの大きな情報をバックアップする必要があります

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

2種類のデータベースのバックアップ

ここではデータベースのバックアップを説明します。パスワードやサーバ名など個々人で異なりますが、ここではMediaWikiのインストール方法#データベースの設定で設定した内容を基準にバックアップの内容を記載して行きます
データベースのバックアップ方法にも2通りあります。メリット/デメリットの両方がありますが簡単に分けると上級者向けがmysqldumpを使用したバックアップ、初心者向けがdumpBackup.phpを使用したバックアップと考えても良いかもしれません
個人的には転ばぬ先の杖ではありませんが、両方でバックアップを取っておいて万が一に用意した方が賢明かもしれません
  • mysqldumpを使用したバックアップ
  • dumpBackup.phpを使用したバックアップ

mysqldumpを使用したバックアップ

mysqldumpとはMySQLのデータベースのコマンド(mysqldump)を利用してデータベース内の全てのデータをバックアップすることです
メリットとしてはデータベース内の全てのデータをバックアップするため、利用者の情報やページの統計情報など全てがバックアップされます
デメリットとしてバックアップとリストア時のmediawikiやMySQLのバージョンが異なっていたり、キャラクターセットが間違っていたりするとリストアが出来なくなったり、文字化けすることがあります

dumpBackup.phpを使用したバックアップ

mediawikiのメンテナンスツールを使用したバックアップ方法で有りXMLダンプとも言います
メリットとしてはバックアップとリストア時のmediawikiやMySQLのバージョンが異なっていたりしていてもリストア可能です
デメリットとしてサイトに関連する利用者情報、ログ等は含まれず、バックアップはwikiの内容だけ限定されます

mysqldumpを使用したバックアップ方法

以下のコマンドを実行することで
mysqldump -Q --host=mysql999.db.sakura.ne.jp --user=username --password=setuzoku_pass --default-character-set=utf8 --hex-blob username_wikidata > backup.sql
これでbackup.sqlという名前でバックアップが取れます

dumpBackup.phpを使用したバックアップ方法

以下のコマンドを実行
php maintenance/dumpBackup.php --full > backup.xml

ファイルシステムのバックアップ

  • 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
とりあえずこれぐらいバックアップしておけばリストアできると思います

dumpBackup.phpを使用したバックアップ方法

以下のコマンドを実行することでXMLダンプが取得できる
php maintenance/dumpBackup.php --full > backup.xml