PostgreSQL定时自动备份
来源:互联网 发布:股票计算器软件 编辑:程序博客网 时间:2024/05/16 15:34
PostgreSQL定时自动备份
简介
PostgreSQL数据库中未提供数据库的定时备份功能,所以需要结合备份和定时job功能来共同实现。
这里我选取了2种定时job方式,crontab是Linux中的定时job功能,故只能支持Linux系列操作系统;其中pgAgent是基于数据库的定时备份,可适用于各种操作系统。
实验环境
- PostgreSQL:
操作系统:CentOS Linux release 7.3.1611 (Core)数据库系统: PostgreSQL 9.5.9IP: 192.168.230.134port: 5432
冷备份脚本
业务需求:
每日按日期执行自动备份,生产dmp的压缩文件。备份文件保存7天
[postgres@localhost ~]$vim backup.sh #!/bin/bashcur_time=$(date '+%Y-%m-%d')sevendays_time=$(date -d -7days '+%Y-%m-%d')export PGPASSWORD=oracleecho "Starting Backup PostgreSQL ..."rm -rf pgsql-backup.$sevendays_time.tar.gzpg_dumpall -U postgres -p 5432>"pgsql-backup.$cur_time.dmp"tar zcvf "/var/lib/pgsql/pgsql-backup.$cur_time.tar.gz" *.dmpecho "Remove temp file ..."rm -rf pgsql-backup.*.dmpecho "Finish Backup ..."[postgres@localhost ~]$chmod 755 ./backup.sh
此脚本备份并压缩整个数据库,删除7天前的备份
[postgres@localhost ~]$ls9.5 backup.sh pgsql-backup.2017-09-04.tar.gz[postgres@localhost ~]$./backup.sh Starting Backup PostgreSQL ..../backup.sh: line 7: 5432: Bad file descriptorpgsql-backup.2017-09-11.dmpRemove temp file ...Finish Backup ...[postgres@localhost ~]$ls9.5 backup.sh pgsql-backup.2017-09-11.tar.gz
热备份脚本
业务需求:每天对整个数据库数据进行热备份,不能影响实际业务
#!/bin/bash DATE=$(date '+%Y%m%d');PG_ARCHIVE=/var/lib/pgsql/9.5/data/pg_archPG_DATA=/var/lib/pgsql/9.5/dataPG_HOME=/var/lib/pgsql#START BACKUPecho "START BACKUP..............." psql postgres -c "select pg_start_backup('hot_back')"cd $PG_HOMEtar zcvf ${PG_HOME}/pg_hotbackup_$DATE.tar.gz $PG_DATApsql postgres -c "select pg_stop_backup()"psql postgres -c "select pg_switch_xlog()"psql postgres -c "select pg_current_xlog_location()"echo "BACKUP END"
crontab设定定时备份
创建执行计划
业务需求为每天临晨2点自动执行备份脚本
[root@localhost ~]# crontab -e0 2 * * * /var/lib/pgsql/backup.shno crontab for root - using an empty onecrontab: installing new crontab
详情可参见
http://blog.csdn.net/sunbocong/article/details/77883797
pgAgent设定定时备份
使用pgadmin III 工具连接目标库
新建作业daily_backup
创建计划daily_backup,设定开始时间
选定时间为每天凌晨2点00分
新建步骤daily_backup,选择批处理
设定其执行之前我们编写的backup.sh脚本
这样我们就设定好了每天凌晨2点00分执行backup.sh脚本的执行计划
详情可参见
http://blog.csdn.net/sunbocong/article/details/77870205
阅读全文
1 0
- PostgreSQL定时自动备份
- PostgreSQL自动备份
- postgreSQL 自动备份脚本
- sqlserver定时自动备份
- mysql定时自动备份
- mysql自动定时备份
- 定时自动备份下载
- sqlserver08定时自动备份
- mysql自动定时备份
- 文件夹定时自动备份
- 定时自动备份数据库
- 数据库自动定时备份
- 关于postgresql本地自动备份
- PostgreSQL自动备份的批处理文件
- PostgreSQL数据库批处理自动备份
- PostgreSQL自动备份批处理脚本
- Linux下定时备份Postgresql数据库
- 自动定时备份sqlserver数据库
- db2锁表解锁方法
- 0.大纲
- VS2010下的银行管理系统
- 一些算法(套路)
- sheduler中的触发器
- PostgreSQL定时自动备份
- [js高手之路]深入浅出webpack教程系列6-插件使用之html-webpack-plugin配置(下)
- 单例模式学习
- 技术分享——mongodb入门(1)
- .net简单实现MVC模式
- String:383. Ransom Note
- Android GridView 设置间距不起作用
- 【Servlet】会话管理1
- 翻译连载 | JavaScript轻量级函数式编程-第7章: 闭包vs对象 |《你不知道的JS》姊妹篇