ITPub博客

首页 > 数据库 > 国内数据库 > 【YashanDB 知识库】非 YCM 方式的自动备份方案示例

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

原创 国内数据库 作者:崖山数据库系统YashanDB 时间:2025-01-23 17:27:55 0 删除 编辑

本文内容来自 YashanDB 官网,原文内容请见  https:///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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3070613/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639968