MediaWiki のバックアップ

以下のページを参考にして、この MediaWiki のバックアップを取ることにした。

MySQL のダンプ

毎日 MySQL のダンプを取るようにした。cron で以下のように mysqldump を実行するだけだ。

mysqldump -h localhost \
 -u mediawikija \
 -p'XXXXXXXX' \
 mediawikija -c \
 | gzip -9 > mediawikija-`date +%Y-%m-%d`.sql.gz

MediaWiki 付属のダンプツール

MediaWiki には dumpBackup.php というダンプツールが付属している。これを使ってコンテンツを XML 形式でダンプするようにした。

このツールを使うには準備が必要で、AdminSettings.sample を元に AdminSettings.php というファイルを作る。そのファイルで、$wgDBadminuser、$wgDBadminpassword という変数にそれぞれ MySQL の管理者名とパスワードを書いておいた。

実際のバックアップ作業は maintenance ディレクトリで行う。以下のような感じで php コマンドを実行している。

php dumpBackup.php --full | gzip -9 > /path/to/dir/mediawikija-`date +%Y-%m-%d`.xml.gz

この MediaWikiDebian Lenny で動いていて、php コマンドは以下のようにして apt-get でインストールした。

% sudo apt-get install php5-cli
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
提案パッケージ:
  php-pear
以下のパッケージが新たにインストールされます:
  php5-cli
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
2475kB のアーカイブを取得する必要があります。
この操作後に追加で 5419kB のディスク容量が消費されます。
取得:1 http://mirror.cc.columbia.edu lenny/main php5-cli 5.2.6.dfsg.1-1+lenny3 [2475kB]
2475kB を 1s で取得しました (1769kB/s)
未選択パッケージ php5-cli を選択しています。
(データベースを読み込んでいます ... 現在 30171 個のファイルとディレクトリがインストールされています。)
(.../php5-cli_5.2.6.dfsg.1-1+lenny3_i386.deb から) php5-cli を展開しています...
man-db のトリガを処理しています ...
php5-cli (5.2.6.dfsg.1-1+lenny3) を設定しています ...

Creating config file /etc/php5/cli/php.ini with new version