ELK-logstash重新导入历史日志
2023/10/25 11:05 投稿
#!/bin/bash
CONF_FILE="/etc/logstash/conf.d/forti.conf"
LOG_DIR="/data/fwlogold/"
BEAT_DIR="/data/filebeat/"
DATE="2023-08-14" # 初始日期
DATEB="20230814" # 初始日期
#循环到2023-10-23结束循环
while [ "$DATE" != "2023-10-23" ]; do
# 替换 CONF_FILE中的fortinet-2023.*为fortinet-$DATE
sed -i "s/index => \"fortinet-2023.*\"/index => \"fortinet-$DATE"/" "$CONF_FILE"
# 重启 Logstash
systemctl restart logstash
# 执行 zcat 命令,将历史的log文件写入forti.log
zcat "${LOG_DIR}devicesname.fw.log.devicesn.${DATEB}05201.zip" > "${BEAT_DIR}forti.log"
#设定一个睡眠时间,避免zcat没执行结束 又重新修改配置文件重启服务,导致导入中断
sleep 30m
# 日期 + 1天
DATE=$(date -d "$DATE +1 day" "+%Y-%m-%d")
DATEB=$(date -d "$DATEB +1 day" "+%Y%m%d")
done