PostgreSQL定时自动备份_pgagent 备份数据库

[postgres@localhost ~]$vim backup.sh 

#!/bin/bash
cur_time=$(date '+%Y-%m-%d')
sevendays_time=$(date -d -7days '+%Y-%m-%d')
export PGPASSWORD=oracle
echo "Starting Backup PostgreSQL ..."
rm -rf pgsql-backup.$sevendays\_time.tar.gz
pg_dumpall -U postgres -p 5432>"pgsql-backup.$cur\_time.dmp"
tar zcvf "/var/lib/pgsql/pgsql-backup.$cur\_time.tar.gz" *.dmp
echo "Remove temp file ..."
rm -rf pgsql-backup.*.dmp
echo "Finish Backup ..."


[postgres@localhost ~]$chmod 755 ./backup.sh

此脚本备份并压缩整个数据库,删除7天前的备份

[postgres@localhost ~]$ls
9.5  backup.sh  pgsql-backup.2017-09-04.tar.gz
[postgres@localhost ~]$./backup.sh 
Starting Backup PostgreSQL ...
./backup.sh: line 7: 5432: Bad file descriptor
pgsql-backup.2017-09-11.dmp
Remove temp file ...
Finish Backup ...
[postgres@localhost ~]$ls
9.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_arch
PG_DATA=/var/lib/pgsql/9.5/data
PG_HOME=/var/lib/pgsql

#START BACKUP
echo "START BACKUP..............." 
psql postgres -c "select pg\_start\_backup('hot\_back')"
cd $PG\_HOME
tar zcvf ${PG\_HOME}/pg_hotbackup_$DATE.tar.gz $PG\_DATA
psql 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 -e

0 2 * * * /var/lib/pgsql/backup.sh

no crontab for root - using an empty one
crontab: installing new crontab

详情可参见

http://blog.csdn.net/sunbocong/article/details/77883797

pgAgent设定定时备份

使用pgadmin III 工具连接目标库
新建作业daily_backup

作业图

创建计划daily_backup,设定开始时间

计划1

选定时间为每天凌晨2点00分

计划2

新建步骤daily_backup,选择批处理

步骤1

设定其执行之前我们编写的backup.sh脚本

步骤2

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

1719232507763)]
[外链图片转存中…(img-9Qho93oL-1719232507764)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值