实现Influx1.8每日备份策略
基于omv的docker环境搭建了influx。为了担心数据丢失,采用snapraid进行数据容灾,但是当sync时发现influx数据目录一直被占用导致相关数据同步失败。遂决定排除influx目录,通过influx 备份命令实现数据每日独立备份。
建立备份目录的映射关系
由于将influx的数据目录排除在snapraid sync
目录范围,所以需要在硬盘新建一个目录,指向docker influx内的一个新目录,如下图所示:
重启docker完成
编写备份脚本
进入到上图中的本地备份目录,新建一个sh文件
1 | touch backup.sh |
然后写入如下内容
1 |
|
创建定时任务
在服务器首先获取到influx的容器实例id,docker ps
然后执行备份命令测试一下:
1 | docker exec -i 5xxxxxxx /bin/bash -c 'bash /var/backup/backup.sh' |
注意,开始写的是
docker exec -it 5xxxxxxx /bin/bash -c 'bash /var/backup/backup.sh'
,本地执行没有问题,但是放到omv的计划任务里一直报错,需要把-it
改为-i
为了防止容器重新创建导致id变化,可以动态根据容器名称获取id:
1 | docker exec -i `docker ps -a| grep influxdb | awk '{print $1}'` /bin/bash -c 'bash /var/backup/backup.sh' |
然后在omv/系统/计划任务,新建一个任务,按需选择日期,然后输入上述执行命令。
确定后,手动执行一遍,看是否有问题。如下所示则说明任务创建成功。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AllanHao!
评论