influxdb 数据备份脚本
#!/bin/bash
# 设置备份目录
BACKUP_DIR=/var/lib/influxdb/backup
# 获取当前时间,格式为 "YYYYMMDDHH"
CURRENT_HOUR=$(date +%Y%m%d%H)
# 设置备份文件名
BACKUP_FILE="influxdb_backup_${CURRENT_HOUR}"
# 进入InfluxDB容器(假设容器名为influxdb) # 执行备份命令,备份最近一个小时的数据
docker exec -it influxdb bash -c "influxd backup -portable -start $(date --date='-1 hour' +%Y-%m-%dT%H:%M:%SZ) -end $(date +%Y-%m-%dT%H:%M:%SZ) $BACKUP_DIR/$BACKUP_FILE"
# 查找并删除10天前的备份文件
# find $BACKUP_DIR -name "influxdb_backup_*" -mtime +10 -exec rm {} \;
# find $BACKUP_DIR -name "influxdb_backup_*" -mmin +1 -exec rm {} \;
docker exec -it influxdb bash -c "find $BACKUP_DIR -name "influxdb_backup_*" -mmin +60 -exec rm -rf {} \;"
# 退出容器
exit