写点什么

【YashanDB 知识库】非 YCM 方式的自动备份方案示例

作者:YashanDB
  • 2025-01-23
    广东
  • 本文字数:1192 字

    阅读完需:约 4 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://www.yashandb.com/newsinfo/7281310.html?templateId=1718516


概述


如果有 YCM,推荐使用 YCM 自动备份,详情请参考 YCM 官方文档。但是如果没有 YCM,则可通过 crontab 实现自动备份。目前示例的自动备份方案是每周的周 3、周 6 的凌晨 0 点做全量备份;每天的凌晨 2 点做增量备份;每天的凌晨 4 点删除 15 天以上的备份,可根据项目需求灵活调整。


步骤


下载脚本


下载附件的脚本:backup_scripts.tar.gz


部署脚本


su - yashan


cd $HOME


## 把软件包放到 yashan 用户的 $HOME 目录


tar -zxvf backup_scripts.tar.gz


cd backup_scripts


chmod 750 *.sh


chmod 640 db_backup.ini yashan.cron


配置 yashandb 连接信息


根据数据库连接串替换 DB_HOST 和 DB_PORT 即可


[yashan@yashandb backup_scripts]$ cat db_backup.ini


DB_HOST=127.0.0.1


DB_PORT=1688


DB_USER=DBBAK


DB_PASSWORD="UDIwMjRaR0ppWVdzXzA0MDI="


初始化****catalog 和创建备份用户


前提条件是要求能够免密登陆 yasdb,执行 yasql "/ as sysdba",否则请修改脚本。备份用户和密码是 dbbak/P2024ZGJiYWs_0402,"UDIwMjRaR0ppWVdzXzA0MDI="是 dbbak 用户密码 P2024ZGJiYWs_0402 的 base64 加密结果,加密命令是 echo -n ${DB_PASSWORD} | base64


./init_yasrman.sh


初始化 cron 任务


crontab yashan.cron


检查 cron 任务


crontab -l 应该有如下输出:每周的周 3、周 6 的凌晨 0 点做全量备份;每天的凌晨 2 点做增量备份;每天的凌晨 4 点删除 15 天以上的备份(yasrman_clean_backup.sh 脚本中存在 KEEP_DURATION=1296000 设置,意味着最大保留时长 15 天)


[yashan@yashandb backup_scripts]$ crontab -l


0 0 * * 3,6 /home/yashan/backup_scripts/yasrman_level_0_full.sh


0 2 * * * /home/yashan/backup_scripts/yasrman_level_1_incr.sh


0 4 * * * /home/yashan/backup_scripts/yasrman_clean_backup.sh


目前示例的自动备份方案是每周的周 3、周 6 的凌晨 0 点做全量备份;每天的凌晨 2 点做增量备份;每天的凌晨 4 点删除 15 天以上的备份,可根据项目需求灵活调整。


人工备份确认脚本正常运行


/home/yashan/backup_scripts/yasrman_level_0_full.sh # level 0 的全量备份


/home/yashan/backup_scripts/yasrman_level_1_incr.sh # level 1 的增量备份


/home/yashan/backup_scripts/yasrman_clean_backup.sh # 删除 15 天以上的备份


检查人工备份是否符合预期


对上一步的人工备份检查备份是否符合预期


yasrman "dbbak/P2024ZGJiYWs_0402" -c "list backup" -D /home/yashan/catalog


检查自动备份是否符合预期


按照自动备份方案的时间设置,检查自动备份是否符合预期


yasrman "dbbak/P2024ZGJiYWs_0402" -c "list backup" -D /home/yashan/catalog


问题处理


  1. 在麒麟操作系统,执行 crontab yashan.cron 可能报错


You (yashan) are not allowed to use this program (crontab)


See crontab(1) for more information


解决方法是用 root 执行以下命令即可


echo "yashan" >> /etc/cron.allow

发布于: 刚刚阅读数: 4
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】非YCM方式的自动备份方案示例_数据库_YashanDB_InfoQ写作社区