用crontab实现YashanDB自动备份
先决条件
定时备份任务依赖操作系统守护进程crond,通常这个进程是启动的。可以用下面命令检查状态
#service crond status |
可用下面命令启动crond服务
#service crond start |
配置方法
更改脚本中变量配置
1、以数据库用户,将backup.sh复制到数据库服务器
2、更改脚本backup.sh中的下列内容:
● BACKUPPATH-备份存储路径,确认数据库用户对此目录拥有读写权限
● DBURL- 数据库连接串,以密文形式保存,可用类似下面的命令产生字符串,保存在”DBURL=”后面,需要根据你的环境更改命令中相应内容。
#echo sys/yasdb_123@0.0.0.0:1688|base64 |
● 将文件backup.sh的属性改为700。
chmod 700 backup.sh |
3、用下面命令测试备份是否成功
./backup.sh cat backup.log |
创建自动备份任务
执行命令”crontab -e”,新增如下两条记录
0 0 * * 0 /data/backup/backup.sh 0 0 0 * * 1-6 /data/backup/backup.sh 1 |
第一条命令表示周日0点0分开始做数据库全量备份
第二条命令表示周一至周六每日0点0分开始做数据库增量备份
具体备份开始时间,可根据实际情况调整。
备份参数更改
创建yasrman使用的catalog后,备份参数使用默认值,如需要更改备份参数,比如并行度、是否压缩以及使用的压缩算法等,可用类似下面的命令更改。
yasrman sys/yasdb_123@0.0.0.0:1699 -c "configure PARALLELISM 4" -D /data/backup/catalog yasrman sys/yasdb_123@0.0.0.0:1699 -c "configure COMPRESSION ALGORITHM lz4" -D /data/backup/catalog yasrman sys/yasdb_123@0.0.0.0:1699 -c "configure COMPRESSION level high" -D /data/backup/catalog |
参数调整后,备份速度和备份影像的大小可能发生较大变化。