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

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

概述

如果有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

你可能感兴趣的:(数据库)