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
この MediaWiki は Debian 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