opengauss数据备份(docker中备份)

首先如果想直接在宿主机上进行使用gs_dump备份需要glibc的版本到2.34及以上,查看版本命令为

ldd --version 

在这里插入图片描述

如图所示,本宿主机并不满足要求,所以转向在docker容器中进行备份,
然后进入opengauss容器中,命令为

docker exec -it gausst bash (其中gausst为你新建opengauss数据库名称)

新建的容器是没有cron定时器的,安装命令

apt-get update && apt-get install cron -y

安装完成后,再新建一个目录,比如/home/back

在该目录中,新建一个叫脚本,backups.sh

然后在脚本中插入以下代码

#删除七天之前的数据
find /home/back -mtime +7 -name "*.tar.gz" -exec rm\;



#配置备份工具的环境
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opengauss/lib;
export PATH=$PATH:/usr/local/opengauss/bin;


#定义变量时间,端口,打包位置,账号密码
Ymd=$(date +%Y%m%d)
host=你的地址
DBUser=你的账号
DBPassword=你的密码
port=你的端口
filePath=/home/back/
sqlPath1=$filePath"xxx_"$Ymd.dmp



#执行备份
gs_dump -U $DBUser  -W $DBPassword -h $host -f $sqlPath1 -p $port sifa -F c -n 你的模式


#对带备份文件赋予777权限
chmod 777 $sqlPathl
chmod 777 $sqlPath2
chmod 777 $sqlPath3

#打包压缩文件

tar -zcvf $filePath$Ymd.tar.gz $sqlPath1 

#清理剩余的dmp文件
rm $filePath*.dmp

然后新建一个日志文件con.log

在执行

crontab -e

在第一行插入

0 3 * * * /home/back/backups.sh>>/home/back/con.log

这条命令表示每天凌晨三点执行该脚本

保存退出执行,

service cron restart 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值