• opengauss数据备份(docker中备份)


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

    ldd --version 
    
    • 1

    在这里插入图片描述

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

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

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

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

    安装完成后,再新建一个目录,比如/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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

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

    在执行

    crontab -e
    
    • 1

    在第一行插入

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

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

    保存退出执行,

    service cron restart 
    
    • 1
  • 相关阅读:
    玻色量子对外合作
    Linux学习之远程拷贝数据命令
    若依框架集成WebSocket带用户信息认证
    Eval 在Splunk 中的实际用途
    2020 ICPC 澳门(G,J,I)详解
    SpringMVC入门
    动态规划(一)一维DP
    CV计算机视觉核心01-计算机视觉基础(基本图像处理OpenCV)
    数据库管理-第四十六期 一些...疑惑吧~(20221203)
    【代码随想录】【数组】704.二分查找
  • 原文地址:https://blog.csdn.net/cv1002420186/article/details/133708810