1. 程式人生 > 其它 >使用shell指令碼清理ElasticSearch歷史資料

使用shell指令碼清理ElasticSearch歷史資料

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
作者:Varden 出處:http://www.cnblogs.com/varden/ 本文內容如有雷同,請聯絡作者! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。