Filebeat的主配置文件默认位于/etc/filebeat/filebeat.yml,这是备份的核心目标。
cp命令复制配置文件到指定备份目录(如/backup),例如:sudo mkdir -p /backup/filebeat # 创建备份目录(可选)
sudo cp /etc/filebeat/filebeat.yml /backup/filebeat/filebeat_backup.yml
.tar.gz格式,例如:sudo tar -czvf /backup/filebeat/filebeat_backup.tar.gz /backup/filebeat/filebeat.yml
rsync命令(需安装rsync):sudo rsync -av --delete /etc/filebeat/ /backup/filebeat/ # 同步配置目录
/var/lib/filebeat/,备份命令:sudo tar -czvf /backup/filebeat/filebeat_data_backup.tar.gz /var/lib/filebeat/
/var/log/filebeat/,备份命令:sudo tar -czvf /backup/filebeat/filebeat_log_backup.tar.gz /var/log/filebeat/
通过cron任务实现每天自动备份,避免手动操作遗漏。
sudo crontab -e,添加以下内容(每天凌晨2点执行):0 2 * * * /path/to/backup_script.sh >> /var/log/filebeat_backup.log 2>&1
/usr/local/bin/backup_filebeat.sh,内容如下(包含配置、数据、日志备份及旧备份清理):#!/bin/bash
BACKUP_DIR="/backup/filebeat"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
# 创建备份目录
sudo mkdir -p "$BACKUP_DIR"
# 备份配置文件
sudo cp /etc/filebeat/filebeat.yml "$BACKUP_DIR/filebeat_config_$TIMESTAMP.yml"
# 备份数据目录
sudo tar -czvf "$BACKUP_DIR/filebeat_data_$TIMESTAMP.tar.gz" /var/lib/filebeat/
# 备份日志目录
sudo tar -czvf "$BACKUP_DIR/filebeat_log_$TIMESTAMP.tar.gz" /var/log/filebeat/
# 删除7天前的旧备份(保留最近7天)
find "$BACKUP_DIR" -type f -name "filebeat_*_*.tar.gz" -mtime +7 -exec rm {} \;
find "$BACKUP_DIR" -type f -name "filebeat_config_*.yml" -mtime +7 -exec rm {} \;
sudo chmod +x /usr/local/bin/backup_filebeat.sh
sudo systemctl stop filebeat
sudo systemctl start filebeat
tar -xzvf /backup/filebeat/filebeat_backup.tar.gz -C /tmp # 解压到临时目录
cat /tmp/filebeat.yml # 查看内容
通过以上步骤,可实现CentOS下Filebeat配置文件、数据及日志的有效备份,并通过自动化脚本减少人工维护成本。