postgresql
プロダクションDBのバックアップスクリプト
サーチ…
構文
- このスクリプトを使用すると、実行ごとに次の構文でバックアップディレクトリを作成できます。データベースバックアップディレクトリの名前+実行日時
- 例:prodDir22-11-2016-19h55
- 作成後、次の構文で2つのバックアップファイルが作成されます。 データベース名+実行日時
- 例:
- dbprod22-11-2016-19h55.backup (ダンプファイル)
- dbprod22-11-2016-19h55.sql (sqlファイル)
- 22-11-2016 @ 19h55での1回の実行の終了時に、
- /save_bd/prodD2222-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
パラメーター
パラメータ | 詳細 |
---|---|
save_db | メインバックアップディレクトリ |
dbProd | セカンダリバックアップディレクトリ |
日付 | 指定した形式のバックアップの日付 |
dbprod | 保存するデータベースの名前 |
/opt/postgres/9.0/bin/pg_dump | pg_dumpバイナリへのパス |
-h | サーバーが稼動しているマシンのホスト名を指定します。例:localhost |
-p | サーバが接続をリスンするTCPポートまたはローカルUnixドメインソケットファイル拡張子を指定します(例5432)。 |
-U | 接続するユーザー名。 |
備考
- HDPSやSymantec Backupなどのバックアップツールがある場合... 起動するたびにバックアップディレクトリを空にする必要があります。
古いファイルのバックアップが行われているため、バックアップツールの混乱を避けるため。
この機能を有効にするには、N°3の行をコメント解除してください。
rm -R / save_db / *
- 予算でバックアップツールを使用できない場合は、常にタスクプランナー( cronコマンド )を使用できます。
次のコマンドを使用して、現在のユーザーのcronテーブルを編集します。
crontab -e
午後11時にカレンダー付きのスクリプトの起動をスケジュールします。
0 23 * * * /saveProdDb.sh
saveProdDb.sh
一般的に、私たちはpgAdminクライアントでDBをバックアップする傾向があります。以下は、データベース(linux上)を2つの形式で保存するために使用されるshスクリプトです:
SQLファイル :PostgreSQLのどのバージョンでもデータの再開が可能です。
ダンプファイル :現在のバージョンよりも上位のバージョン。
#!/bin/sh
cd /save_db
#rm -R /save_db/*
DATE=$(date +%d-%m-%Y-%Hh%M)
echo -e "Sauvegarde de la base du ${DATE}"
mkdir prodDir${DATE}
cd prodDir${DATE}
#dump file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -w -v -f "dbprod${DATE}.backup" dbprod
#SQL file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres --format plain --verbose -f "dbprod${DATE}.sql" dbprod
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow