【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

问题处理

  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

posted @   YashanDB  阅读(8)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示