2021/07/12

MANUAL

FAQ:PostgreSQL データベース バックアップ・リストア手順

本手順は [Pleasanter with PostgreSQLをCentOS7にインストールする](/manual/install-centos7-postgresql)で構築したプリザンターのデータベース(Implem.Pleasanter)を対象としております。 バックアップにはスクリプト、アーカイブの2つの形式がございますので、ご使用されている環境に合わせて使い分けていただければと存じます。 ※スクリプト形式はバックアップを取得した時点の状態のデータベースを再構成するために必要なSQLコマンドが書きこまれた平文ファイルが出力される。  アーカイブ形式はバイナリ形式で出力され、デフォルトでファイルが圧縮される。 ## 【スクリプト形式】 ■バックアップ  ・バックアップ用 ディレクトリ作成 ```  # mkdir /backup  # chmod -R 777 /backup ```  ・バックアップ取得 ```  # su - postgres  $ pg_dump Implem.Pleasanter > /backup/Implem.Pleasanter.dump ``` ■リストア ```  # pg_restore -d Implem.Pleasanter /backup/Implem.Pleasanter.dump ``` ## 【アーカイブ形式】 ■バックアップ  ・バックアップ用 ディレクトリ作成 ```  # mkdir /backup  # chmod -R 777 /backup ```  ・バックアップ取得 ```  # su - postgres  $ pg_dump -Fc Implem.Pleasanter > /backup/Implem.Pleasanter.dump ``` ■リストア ```  $ pg_restore -d Implem.Pleasanter /backup/Implem.Pleasanter.dump ``` ## 定期的にバックアップ 定期的にバックアップおよび、バックアップファイルの削除を行いたい場合は下記のようなcron設定を行うことで可能です。 ※下記のcron設定で、毎日1:00に1周間以上前のファイル削除、2:00にバックアップ取得を行う ``` # crontab -u postgres -e ``` ### 毎日2:00にデータベースのバックアップを取得 ``` 00 02 * * * /bin/pg_dump "Implem.Pleasanter" > /backup/`date "+\%Y\%m\%d"`_Implem.Pleasanter.dump ``` ### 毎日1:00に一週間以上前のファイルを削除 ``` 00 01 * * * /bin/find /backup -maxdepth 1 -mtime +7 -type f -delete ```
このページをシェアする