MediaWikiバックアップ作業メモ

バックアップ対象

MediaWikiにおけるバックアップ対象は

  • データベース
  • 設定ファイル(LocalSettings.phpや./config)
  • 画像(./images)
  • CSSとか(./skins)
  • 拡張機能(./extensions)


こんなところでしょうか。


バックアップ前の確認事項

Wikiが書き込み不可の状態であることを確認します。


書き込み不可にする設定はLocalSettings.php

$wgReadOnly = 'site maintenance';

と追記するだけでOKです。
文字列の内容はそのままメッセージとして画面に表示されます。


バックアップ作業

こういうスクリプトを書きました。

#!/bin/sh
DATE=$(date +%Y%m%d)
ROOT=/home/foo/bar/wiki

{
    cd $ROOT
    tar -zvcf ~/backup/wiki-images-${DATE}.tar.gz ./images
    tar -zvcf ~/backup/wiki-skins-${DATE}.tar.gz ./skins
    tar -zvcf ~/backup/wiki-extensions-${DATE}.tar.gz ./extensions
    tar -zvcf ~/backup/wiki-config-${DATE}.tar.gz ./config
    tar -zvcf ~/backup/wiki-site-config-${DATE}.tar.gz $(find . -maxdepth 1 -type f)
}

DBHOST=john
DBNAME=paul
DBUSER=george
DBPASS=ringo
DBCHARSET=utf8

mysqldump -h $DBHOST -u $DBUSER -p${DBPASS} --default-character-set=${DBCHARSET} ${DBNAME} -c | gzip -9 > ~/backup/wiki-sql-${DATE}.sql.gz


~/backup 以下にぽこぽこアーカイブファイルができるのでそれをリモートのどっかに持ってって終了。


参考: Manual:Backing up a wiki - MediaWiki