ELK安装在docker上。由于旧的日志和索引服务器硬盘容量已满,导致ELK容器崩溃。
在安装了 elk 的 docker shell 上运行下面的 shell 脚本
#!/bin/bash
几天前= date --date="200 days ago" +%Y%m%d
全线= /usr/bin/curl -s -XGET http://127.0.0.1:9200/_cat/indices?v | egrep logstash
回波回声"这是应该为麋鹿删除的内容:"回波
echo "$ALLLINES" | 同时读取 LINE做 格式化行= echo $LINE | awk '{ print $3 }' | awk -F'-' '{ print $2 }' | sed 's/.//g'
如果 [ "$FORMATEDLINE" -lt "$DAYSAGO" ] 然后 要删除= echo $LINE | awk '{ print $3 }'
呼应"http://127.0.0.1:9200/$TODELETE" fi做
回波echo -n "如果这成立,Y 继续 N 退出 [Y/N]:"读取输入如果 [ "$INPUT" == "Y" ] ||[ "$INPUT" == "y" ] ||[ "$INPUT" == "是" ] ||[ "$INPUT" == "是" ]然后 回声"$ALLLINES" |同时读取行 做 格式化行= echo $LINE | awk '{ print $3 }' | awk -F'-' '{ print $2 }' | sed 's/.//g'
如果 [ "$FORMATEDLINE" -lt "$DAYSAGO" ] 然后 删除= echo $LINE | awk '{ print $3 }'
/usr/bin/curl -XDELETE http://127.0.0.1:9200/$TODELETE 睡眠 1 fi 做还 回声脚本被用户关闭,再见... 回波 退出fi