postgres简易的备份方案
sudo apt update && sudo apt upgrade
sudo apt install postgresql-client postgresql-client-common libpq-dev
crontab -e
0 3 * * * /data/crond/pg_backup.sh
cat /data/crond/pg_backup.sh
#!/bin/bash backupdir=/data/backup/ export PGPASSWORD=11111111 echo "backup start" `date` >> $backupdir/backup_history.log /usr/bin/pg_dump -h 127.0.0.1 -p 5432 -U postgres -F c -b -v -f $backupdir/persimmon_production.backup_`date +%Y%m%d%H%M%S` persimmon_production >> $backupdir/backup_history.log 2>&1 echo "backup end. " `date` >> $backupdir/backup_history.log # 删除超过60天的备份文件 cd $backupdir && find ./ -name "persimmon*.bak" -ctime +60 -exec rm {} \;
日志文件使用系统logrotate服务,保留7天
cat /etc/logrotate.d/postgres
/data/backup/*.log { su root list daily size 100M missingok rotate 7 compress delaycompress notifempty create 664 deploy deploy copytruncate }
还原数据:
$ sudo pg_restore -h '127.0.0.1' -U postgres -p 5432 -d “database” -c “file”
阅读量: 974
发布于:
修改于:
发布于:
修改于: