如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)

前提环境,linux的核心至少在GLIBC_2.34及以上才能使用。

查看linux的glibc版本的命令如下
strings /lib64/libc.so.6 | grep GLIBC

如下图
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第1张图片
或者用ldd --version
如下图
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第2张图片

在官网下载对应的依赖包,
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第3张图片
只需要这个lib文件即可,将这个包放在linux对应下面脚本的LD_LIBRARY_PATH的路径
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第4张图片
然后再下载这个文件
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第5张图片
仅需这个bin文件即可,并且把路劲放到下面脚本的PATH路径下方
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第6张图片

编写以下脚本


#删除七天前的压缩包
find /home/back -mtime +7 -name "*.tar" -exec rm  {} \;

#配置环境,路径可以自定义,没有过多要求
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/back/backups/lib;
export PATH=$PATH:/home/back/backups/bin;

#配置你的数据库地址
#ding yi bian liang 
Ymd=$(date +%Y%m%d)
host=
DBUser=
DBPassword=
port=
filePath=/home/back/
sqlPath1=$filePath$Ymd.dmp



#开始备份,数据库名称替换成你的数据库,数据库的具体模式替换成你的模式
gs_dump -U $DBUser  -W $DBPassword -h $host -f $sqlPath1 -p $port 数据库名称 -F c -n 数据库的具体模式

#打包对应的dmp文件
#ya suo shu ju
tar -cvf $filePath$Ymd.tar $sqlPath1.dmp


#shan chu bei fen wen jian
rm *.dmp



在使用之前先检查gs_dump这个命令能不能用,首先进入到之前提到的bin路径首先输入以下两行代码,路径不做要求可自定义,且该命令的环境配置仅限在当前的bash页面,关掉就会消失,所以不会对系统造成影响。但是也不要在将该变量设置成永久变量,容易开机出问题。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opengauss/lib;
export PATH=$PATH:/usr/local/opengauss/bin;

进入到bin路径之后,用ldd命令看看能不能用
如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)_第7张图片
能运行的话,将该脚本命名成backups.sh,然后在创建一个日志文件log.text。
再运行crontab -e的命令,进入cron的定时器编写如下代码。

* * * * * /home/back/backups.sh>>/home/back/log.text
# * * * * * 表示每分钟执行一次,具体需求可以到https://cron.qqe2.com/网站去指定时间,这行代码表示将backup.sh的运行结果弄到log.text中。

最后执行cron,输入 service cron start ,cron开始执行。

你可能感兴趣的:(linux,数据库,运维,gaussdb)