PostgreSQLのデータを日時でフルバックアップする
備忘録として。
- バックアップ要件
- バックアップスクリプトを cron で定期実行します。
- cron の実行ユーザは postgres で。
- 全データベースを対象とします。
- バックアップは、直近7日分を残して削除します。
***** pg_fullbackup.sh ***** #!/bin/sh BACKUP_DIR=/opt/backup/pgsql BACKUP_KEY=pg_dumpall_ BACKUP_FILE=`date +$BACKUP_KEY%y%m%d%H%M.gz` KEEP_DATE=7 # pgsql fullbackup /usr/local/pgsql/bin/pg_dumpall -c | gzip > $BACKUP_DIR/$BACKUP_FILE # delete old files find $BACKUP_DIR -name "$BACKUP_KEY*" -maxdepth 1 -mtime +$KEEP_DATE -exec rm {} \; exit 0 ***** (postgresユーザの)crontab ***** 0 5 * * * /usr/local/pgsql/pg_fullbackup.sh