postgresql的备份可以借助于脚本和contron来完成
备份脚本
该脚本主要用于一天进行一次备份,备份保留一个星期。如果是其它的备份策略请对应的调整相关的参数
#!/bin/bash
## 设置备份的地址
backuppath=/var/lib/pgsql/9.4/backups
# 获取当前时间
cur_time=$(date '+%Y-%m-%d')
sevendays_time=$(date -d -7days '+%Y-%m-%d')
rm -f $backuppath/{dbname}$sevendays_time.bak
pg_dump --port 5432 --username "postgres" --no-password --format custom --blobs --verbose --file "$backuppath/{dbname}$cur_time.bak" "{dbname}"
还原脚本
backuppath=/var/lib/pgsql/9.5/backups
read -p "please enter restore date:" cur_date
pg_restore --host "127.0.0.1" --port "5432" --username "postgres" --no-password --dbname "{dbname}" --verbose --clean "$backuppath/{dbname}$cur_date.bak"