·
PostgreSQLで1時間おきに24世代バックアップする
理想型は多分PITRの設定すればいいんだけど、お手軽に。
バックアップディレクトリを作る
$ sudo mkdir /var/backup
cronにバックアップ用の設定を記述
/etc/cron.d/pg_dumpallとかに書く。
30 * * * * root HOUR=`date +\%H`; /usr/local/pgsql/bin/pg_dumpall -c -U backup > /var/backup/pg_dump.$HOUR && gzip -f /var/backup/pg_dump.$HOUR
バックアップ用のユーザbackupは事前に作っておく。rootではなくpostgresユーザで実行してもいいかもしれない。その辺は環境によりけり。
毎時30分に上記が実行される。
0分に実行だと微妙なタイミングでファイル名が前回実行とかぶるかもしれないのでダメ。
後はcrondを再起動。
$ sudo /etc/init.d/crond restart