【YashanDB知识库】非YCM方式的自动备份方案示例
本文内容来自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
问题处理
- 在麒麟操作系统,执行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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比