Elasticsearch命令行工具
cp ~/scripts/esTools.sh /usr/local/bin/estool chmod +x /usr/local/bin/estool vim /usr/local/bin/estool修改如下参数,根据你的ES服务器实际填写即可,
esUser="elastic" esPasswd="elasticpwd" esHost="http://eslogsys.cmdschool.org:9200" esLog="/var/log/esTools.log"需要注意的是,脚本只查找命名规则为“主题-日期”(“postfix-2015.10.01”)的索引,匹配正则表达式如下,
echo "postfix-2015.10.01" | grep -E '^[a-zA-Z0-9_-]+-[0-9]{4}\.[0-9]{2}\.[0-9]{2}$'
如果你有其他需求,请自行修改代码的正则表达式。
estool
Usage: /usr/local/bin/estool {expired-rm|topic-rm|shrink-shard}
estool expired-rm Usage: /usr/local/bin/estool expired-rm <retention days>
estool expired-rm 360
estool topic-rm Usage: /usr/local/bin/estool shrink-shard <retention days>实现原理,请参阅,https://www.cmdschool.org/archives/30945
estool shrink-shard 180
estool shrink-shard Usage: /usr/local/bin/estool shrink-shard <topic name> <retention days>
estool topic-rm guardicore 60
crontab -e 0 10 * * * /usr/local/bin/estool expired-rm 360 10 10 * * * /usr/local/bin/estool shrink-shard 180 20 10 * * * /usr/local/bin/estool topic-rm guardicore 60