PHPベースのオープンソースのウィキソフトウェア DokuWikiのバックアップについて解説します。
DokuWikiは、ページやメディアファイルの修正内容を削除しない限りリビジョンとして保持し続け、過去のリビジョンに戻すことができます。
とはいえ、誰でも編集できるオープンWikiとして運用する場合は荒らし対策として、その他にも予期せぬ障害に備えて、バックアップは必須です。
なお、今回のバージョンは以下の通りです。
- DokuWiki 2018-04-22a “Greebo”
DokuWikiのバックアップ対象ディレクトリ
DokuWikiのバックアップを取得するにあたって、最低限必要なものはルートディレクトリのconfとdataです。
これらの内容はそれぞれ以下です。
ディレクトリ | 概要 |
---|---|
conf | 設定ファイル |
data | データファイル |
ちなみに、DokuWikiはデータベース不要で全てファイルとして保存されているので、他のディレクトリも含めたDokuWiki全体をバックアップしても構いません。
その方が復元するときやサーバー移行するときは簡単です。
バックアップのシェルスクリプトとCronによる自動実行
バックアップは、Cronで自動実行しましょう。
バックアップのシェルスクリプトは以下のようになります。
#!/bin/sh
BACKUP_DIR=/dokuwiki/backup/
TARGET_DIR1=/dokuwiki/conf/
TARGET_DIR2=/dokuwiki/data/
SAVE_DAYS=14
DATE=`date '+%Y%m%d'`
echo "$DATE"
cd "$BACKUP_DIR"
tar -cjf "$DATE.tar.bz2" "$TARGET_DIR1" "$TARGET_DIR2"
echo "$BACKUP_DIR$DATE.tar.bz2"
find "$BACKUP_DIR" -mtime +"$SAVE_DAYS" -exec rm -f {} \;
こちらは、confとdataディレクトリをバックアップ対象とし、14日分のバックアップを保持するようにしています。
上記のシェルスクリプトを実行する以下のコマンドをCronに登録しましょう。
sh backup.sh
最後に
今回は、DokuWikiのバックアップについて解説しました。
自動実行のバックアップをしていれば、万が一の際に復旧が楽になります。
DokuWikiの使い方については、こちらの記事にまとめています。
コメント