| >> HOME >> FC5 MENU >> PostgreSQL でオンラインバックアップ (pg_dump) |
 |
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
[root@linux ~]# mkdir -p /work/backup/pgsql
[root@linux ~]# chown postgres:postgres /work/backup/pgsql
[root@linux ~]# chmod 755 /work/backup/pgsql
|
|
|
| |
|
|
| |
[root@linux ~]# su - postgres
-bash-3.1$ vi pgsql-backup.sh
#!/bin/sh
DATE=`date "+%Y%m%d"`
PATH=/usr/local/sbin:/usr/bin:/bin
DB_NAME=testdb
BKUP_DIR=/work/backup/pgsql
pg_dump -D DB_NAME > $BKUP_DIR/$DB_NAME_$DATE
-bash-3.1$ chmod 700 pgsql-backup.sh 
|
|
|
| |
|
|
| |
-bash-3.1$ crontab -e
00 00 * * * /var/lib/pgsql/pgsql-backup.sh > /dev/null 2>&1
|
|
|
|
|
|
| |
|
|
| |
[root@linux ~]# psql testdb < /work/backup/pgsql/testdb_20060725
|
|
|
| |
|
|
|
|
|
| |
|
|
| |
-bash-3.1$ vi pgsql-backup.sh
#!/bin/sh
# 日付文字列
DATE=`date "+%Y%m%d"`
WEEK=`date "+%w"`
# パスの設定
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップDB
DB_NAME=testdb
# バックアップ先ディレクトリ
BKUP_DIR=/work/backup/pgsql
if [ "$WEEK" = "0" ]; then
pg_dumpall > $BKUP_DIR/all_$DATE
else
pg_dump -D DB_NAME > $BKUP_DIR/$DB_NAME_$DATE
fi
|
|
|
 |
|
 |
 |