postgresql資料庫備份與恢復
阿新 • • 發佈:2021-10-13
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、備份檔案傳輸及備份的過程中不要修改檔案目錄,否則導致恢復失敗