PostgreSQL スキーマの一括バックアップとリストアのシェルスクリプトです。
バックアップと圧縮
# backup_exec_myschema.sh
#
# 起動方法
# (*) ターミナルを閉じてもプロセス継続
# nohup sh /tmp/tmp_20190619/backup_exec_myschema.sh > log_backup_myschema.log &
# (*) ターミナル再接続後のプロセス検索
# ps auxw | grep pg_dump
#
echo バックアップ開始時刻 : `date '+%Y/%m/%d %H:%M:%S'`
/usr/local/pgsql/bin/pg_dump -U username -d mydatabasename -v -n myschema -Fc -f /tmp/tmp_20190619/backup_myschema.dump
echo バックアップ終了時刻 : `date '+%Y/%m/%d %H:%M:%S'`
echo zip圧縮 開始時刻 : `date '+%Y/%m/%d %H:%M:%S'`
zip backup_myschema.zip backup_myschema.dump
echo zip圧縮 終了時刻 : `date '+%Y/%m/%d %H:%M:%S'`
リストア
# restore_exec_myschema.sh
#
# 起動方法
# (*) ターミナルを閉じてもプロセス継続
# nohup sh /tmp/tmp_20190706/restore_exec_myschema.sh > log_restore_myschema.log &
# (*) ターミナル再接続後のプロセス検索
# ps auxw | grep pg_restore
#
echo リストア開始時刻 : `date '+%Y/%m/%d %H:%M:%S'`
/usr/local/pgsql/bin/pg_restore -U username -d mydatabasename -v -c --disable-triggers -n myschema -Fc /tmp/tmp_20190706/backup_myschema.dump
echo リストア終了時刻 : `date '+%Y/%m/%d %H:%M:%S'`