]Project-Open[

データベースのバックアップとリストア

]project-open[ 用データベースをバックアップする方法と、バックアップしたファイルを利用してリストアする方法を以下にまとめました。併せて、データベースを自動でバックアップする場合のサーバ側設定例を説明しています。


1. データベースのバックアップ

]project-open[ 用データベースを、管理メニュー「Backup」からバックアップします。

管理者権限を持ったユーザでログイン後、上位ペインから [管理] をクリックし、[管理ホーム] から 「Backup」をクリックします。

31_backup


遷移した「Postgres Backup / Restore」画面にて、[New backup] ボタンをクリックします。

32_new_backup


[New backup] ボタンをクリックすると、「PostgreSQL Full Database Dump」画面に遷移します。この画面で最下部に「Finished return to list」が表示されたら、データベースのバックアップは完了です。「return to list」リンクをクリックして、ひとつ前の「Postgres Backup / Restore」画面に戻ります。

33_backup_comp


上記の操作により、バックアップファイルが新たに作成されたことを確認します。

34_backup_list


なお、バックアップファイルを削除する場合は、削除対象となるバックアップの左にあるチェックボックスにチェックを入れ、[Delete] ボタンをクリックします。

35_backup_delete


2. バックアップファイルの保存先を変更

バックアップファイルの保存先はデフォルトでは以下のディレクトリが指定されています。

/web/projop/filestorage/backup

保存先を任意の場所に変更したい場合は、「intranet-core」パッケージの「BackupBasePathUnix」パラメータを編集する必要があります。以下の例では、あらかじめ

/web/projop/filestorage2

というディレクトリを作成し、ここに保存先を変更します。

管理者権限を持ったユーザでログイン後、上位ペインから [管理] - [パラメータ] - 「intranet-core」をクリックします。

36_parameter

(画面中段省略)

37_intranet-core


「BackupBasePathUnix」の項目にバックアップファイルを保存したいディレクトリを指定し、[OK] ボタンをクリックします。

38_bbpu_field

(画面中段省略)

39_bbpu_field2


管理者権限を持ったユーザでログイン後、上位ペインから [管理] - [管理ホーム] - 「Backup」をクリックし、「Current backup path:」が上記の「BackupBasePathUnix」で設定したディレクトリに変更されていることを確認します。

40_backup_path


3. データベースのリストア

管理者権限を持ったユーザでログイン後、上位ペインから [管理] をクリックし、[管理ホーム] から 「Backup」をクリックします。

31_backup


リストアに利用するバックアップファイルの「restore」リンクをクリックします。

41_restore


restore」をクリックすると、自動でデータベースのリストアが開始します。しばらくして、画面最下部に「back to list」が表示されたらリストアは完了です。

42_exe_restore

(画面中段省略)

43_exe_restore2


4. バックアップのスケジューリング

]project-open[ 用データベースを自動でバックアップするように、Linuxサーバでcronの設定を行います。
ここで説明する設定例は以下のとおりです。

バックアップのタイミング 毎日午前1時
保存ディレクトリ /web/projop/filestorage/backup(デフォルト)
保存期間 30日
pg_dumpオプション --no-owner --clean --disable-dollar-quoting --format=p --file=
(画面からの実行と同様)

cronの設定は以下のとおりです。

# crontab -u projop -e
# 以下を追記
# バックアップ処理
00 1 * * * /usr/bin/pg_dump --no-owner --clean --disable-dollar-quoting --format=p --file=/web/projop/filestorage/backup/pg_dump.`hostname`.projop.`date +\%Y\%m\%d.\%H\%M%\S`.sql

# ローテーション処理(30日以上前のファイルを削除)
00 1 * * * /usr/bin/find /web/projop/filestorage/backup -mtime +30 type f -delete

自動でバックアップしたファイルは、]project-open[ の「Postgres Backup / Restore」画面から確認および管理することができます。

44_backup_list


]project-open[ 用データベースのバックアップとリストア方法については以上になります。