1. 程式人生 > 其它 >postgresql資料庫備份與恢復

postgresql資料庫備份與恢復

1、注意事項

1、備份及恢復指令碼是對應的,且恢復指令碼只能回覆當前的資料
2、備份檔案傳輸及備份的過程中不要修改檔案目錄,否則導致恢復失敗

2、資料備份

[postgres@pgsql_1971 ~]$ cat backup.sh 
#!/bin/bash
DUMP=/data/pgsql/bin/
DATA=/data/
HOST=192.168.19.110  #vip 
PORT=5000  #VIP埠
DATABASE=zhj
USER=postgres
PASS="P@sswrd"
DATE=`date +%Y年%m月%d日`
BACKUP=$DATA/dump-$DATABASE-$DATE.bak

PGPASSWORD=$PASS $DUMP/pg_dump -h $HOST -p $PORT  -U $USER $DATABASE > $BACKUP
if [ $? -eq 0 ];then
    echo "$BACKUP  backup successful" >> $DATA/bakup_log
else
    echo "$BACKUP backup failure" >> $DATA/bakup_log
fi

3、資料恢復

[postgres@pgsql_1971 ~]$ cat restore.sh 
#!/bin/bash
DUMP=/data/pgsql/bin/
DATA=/data/
HOST=192.168.19.110  #vip 
PORT=5000  #VIP埠
DATABASE=zhj
USER=postgres
PASS="P@sswrd"
DATE=`date +%Y年%m月%d日`
BACKUP=$DATA/dump-$DATABASE-$DATE.bak

PGPASSWORD=$PASS $DUMP/psql -h $HOST -p $PORT  -U $USER $DATABASE < $BACKUP
if [ $? -eq 0 ];then
    echo "$BACKUP  restore successful" >> $DATA/bakup_log
else
    echo "$BACKUP restore failure" >> $DATA/bakup_log
fi

4、配置定時任務

每天晚上23:00一次備份,按庫備份
crontab -e
00 23 * * * /bin/bash /root/backup.sh 

  

1、備份及恢復指令碼是對應的,且恢復指令碼只能回覆當前的資料

2、備份檔案傳輸及備份的過程中不要修改檔案目錄,否則導致恢復失敗