pc建站网站,最好看的免费网站源码,app 软件开发,成品网站1688特色文章目录 1. 策略和背景1.1 背景1.2 备份策略 2. docker-compose的修改2.1 挂载备份目录2.2 备份脚本3.3 重启容器 3. 定时任务 1. 策略和背景
1.1 背景
使用docker-compose管理的postgres数据库需要备份工作目录在 /data/postgres下
1.2 备份策略
要备份的库 shu_han 库 每… 文章目录 1. 策略和背景1.1 背景1.2 备份策略 2. docker-compose的修改2.1 挂载备份目录2.2 备份脚本3.3 重启容器 3. 定时任务 1. 策略和背景
1.1 背景
使用docker-compose管理的postgres数据库需要备份工作目录在 /data/postgres下
1.2 备份策略
要备份的库 shu_han 库 每日备份 每天2300备份一次 每小时临时备份 每个小时临时备份一次每天凌晨删除一天之前的备份 2. docker-compose的修改
2.1 挂载备份目录
进入工作目录背景中有说明是/data/postgres后文不赘述创建dump目录存储每天备份文件在dump目录下创建tmp目录备份每小时临时备份文件挂载备份目录 docker-compose.yml文件中添加如下内容 volumes:- ./dump:/dump #添加这一行2.2 备份脚本
创建备份脚本 在工作目录中添加备份脚本文件dump.sh内容如下 #!/bin/bash
#####定义变量#######
dateTagdate %Y%m%d%H%M
dumpDir$1
dbUserroot
ipAddr10.251.132.85
dbPort5432
dbPasswdliubei161
#dbNameclf_all_data####### 定义要备份库库 #################
#要备份的库名一行一个
backDbList(
xi_shu
)#######开始备份##########
cd ${dumpDir}
### 备份各库##for dbName in ${backDbList[]};
doPGPASSWORD${dbPasswd} pg_dump -h ${ipAddr} -p ${dbPort} -U ${dbUser} -d ${dbName} -f ${dbName}.sqltar -czf ${dbName}-${dateTag}.tar.gz ${dbName}.sqlrm -rf ${dbName}.sql
done
挂载备份脚本 在docker-compose.yml文件添加如下内容 volumes:- ./dump.sh:/dump.sh #添加这一行3.3 重启容器
3. 定时任务 策略 1每日备份到 /data/pg_dump的文件保留15天 2每小时备份到 /data/dump/tmp的文件保留1天 ###########################
# posgre 备份相关 #
###########################
#每小时临时备份
30 * * * * /usr/bin/docker exec pgdump11 bash -c ./dump.sh /dump/tmp
#每日备份
00 23 * * * /usr/bin/docker exec pgdump11 bash -c ./dump.sh /dump
#每小时备份文件保留1天
00 01 * * * /bin/find /data/postgres/dump/tmp -name \*.tar.gz -mtime 1| xargs -I {} rm -rf {}
#保留15天备份
05 01 * * * /bin/find /data/postgres/dump -name \*.tar.gz -mtime 15| xargs -I {} rm -rf {}