Redmineのバックアップとリストアを試す
バックアップ
コンテンツのバックアップ
Redmineのデータを保全するためには以下のものをバックアップします。 Redmineインストールディレクトリ以下のfilesディレクトリ チケットやWikiに添付されたファイルが格納されています。 データベース 添付ファイル以外の全ての情報がデータベースに格納されています。
とのことなんですが、なんか念為。
tar zcvfp /path/to/backupdir/redmine.tar.gz /var/lib/redmine
DBのバックアップ(コマンド)
pg_dump -U redmine -h localhost -Fc --file=/path/to/backupdir/pg_dump_redmine.dmp redmine パスワードを聞かれたら PostgreSQLで作成したredmineユーザーのパスワードを入れる。 dmpファイルが作成されることを確認する
試しに破壊
コンテンツ削除 #cd /var/lib #rm -rf redmine DBの削除 #su - postgres $dropdb redmine
リストア
圧縮しておいたgzファイルを「権限」も含めて解凍 #tar zxvfp tar zxvfp redmine.tar.gz 権限そのままで元の場所に戻す #cp -pr redmine /var/lib DBを再作成 redmineユーザーは既にあるとします。 #sudo -u postgres createdb -E UTF-8 -O redmine -T template0 redmine pg_dumpDBリストア #pg_restore -h localhost -U redmine -d redmine --clean --if-exists --no-owner /path/to/backupdir/pg_dump_redmine.db
※Webminを使った場合のDBのバックアップとリストア
Webmin
↓
サーバー
↓
PostgreSQL データベース サーバ
バックアップ
下にある「データベースのバックアップ」をクリック
↓⇒「Backup files directory」を適当に設定
↓⇒「直ちにバックアップ」をクリック
↓※定期的にバックアップしたければ、「選択されたスケジュールで実行する」を「毎日の深夜」とかにして「保存」
↓
バックアップが作成されます。
リストア
DBだけ念のためコマンドで作っておく
DBを再作成 redmineユーザーは既にあるとします。
#sudo -u postgres createdb -E UTF-8 -O redmine -T template0 redmine
WebminのPostgresから
「redmine」DBをクリック
↓
「SQLを実行」
↓
「Run SQL from file」
↓
「ローカルファイル」からで上記のWebminで取得したバックアップファイルを指定する
↓
「実行」
以上。
OS自体がRedmineが動いていた環境のまま何も壊れていない状態でのバックアップ/リストアなので大した内容ではないですが。。。いつかOSからというか違う環境へのリストアも試してみたい。でも今時だとOSすらイメージでバックアップしますよね。必要なモジュールが入った状態のOSを保管しておけば、最新のDBとコンテンツを復元できないかな。