Redmineのバックアップとリストアを試す

【PR】
※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

バックアップ

コンテンツのバックアップ

公式だと

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とコンテンツを復元できないかな。

Setup_Memo

Posted by admin