shell脚本内容如下:
#!/bin/bash
#
# 脚本名:clean.sh
# 功能:用于清理日志数据
# 作者:Varden
CONFIG_FILE=/home/scripts/config.yml
ACTION_FILE=/home/scripts/action_file.yml
/usr/bin/curator --config $CONFIG_FILE $ACTION_FILE
echo "---"
echo "删除2个月之前的日志数据:"
_last_data=`date -d '-2 months' +%Y.%m`
curl -XDELETE "http://127.0.0.1:9200/filebeat-7.4.0-${_last_data}.*"
echo
curl -XDELETE "http://127.0.0.1:9200/k8s-${_last_data}.*"
echo
# 脚本结束
/home/scripts/config.yml文件内容如下:
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
client:
hosts:
- es-server-data1
- es-server-data2
- es-server-data3
port: 9200
url_prefix:
use_ssl: False
certificate:
client_cert:
client_key:
ssl_no_validate: False
http_auth:
timeout: 30
master_only: False
logging:
loglevel: INFO
logfile:
logformat: default
blacklist: ['elasticsearch', 'urllib3']
/home/scripts/action_file.yml文件内容如下:
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
#
# Also remember that all examples have 'disable_action' set to True. If you
# want to use this action as a template, be sure to set this to False after
# copying it.
actions:
1:
action: delete_indices
description: "Clean up ES by deleting old indices"
options:
timeout_override:
continue_if_exception: False
disable_action: False
ignore_empty_list: True
filters:
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 15
field:
stats_result:
epoch:
exclude: False