• 定期删除elasticsearch数据


    脚本 

    1. cat > /data/software/crond/delete_es_index.sh <<'EOF'
    2. #!/usr/bin/env bash
    3. #####################################################################################
    4. #
    5. # 用途: 用于es中日志索引的定时删除
    6. #
    7. # 日期: 2022-11-25
    8. #
    9. # 作者: moyuanbo
    10. #
    11. #####################################################################################
    12. # 保留近 N 天,不包含第 N 天
    13. keep_days=61
    14. # 删除最近 M 天,即删除是从 M+N 到 N
    15. del_days=2
    16. # 要删除索引名,留空则使用*-日期(*-2022.01.20)
    17. # index_name_list=("jdxx_cp_admin" "jdxx_cp_ngnix" "jdxx_fanti_cp_admin" "jdxx_fanti_cp_nginx" "jzxjz_cp_admin" "jzxjz_cp_ngnix" "union_admin" "union_fanti_admin" "union_fanti_nginx" "union_fanti_server_sdk" "union_ngnix" "union_server_sdk")
    18. index_name_list=()
    19. # 访问elasticsearch的证书路径
    20. es_ssl='/usr/share/elasticsearch/logstash.pem'
    21. # es信息
    22. es_url='https://192.168.230.72:9200'
    23. es_user_passwd='elastic:iOgWcdovTlcQUSeRAhh3'
    24. function del_index_name() {
    25. for i in $(seq ${keep_days} $((${keep_days}+${del_days})));
    26. do
    27. # 要删除的日期
    28. del_day=$(date -d "$i day ago" +%Y.%m.%d)
    29. # 判断索引列表长度是否为0,为0直接 *-日期
    30. if [[ ${#index_name_list[@]} -eq 0 ]] ; then
    31. # 创建删除列表数组,把"*-${del_day}"值添加进列表中
    32. del_index_list=( "${del_index_list[@]}" "*-${del_day}")
    33. else
    34. for index in "${index_name_list[@]}"
    35. do
    36. del_index_list=( "${del_index_list[@]}" "${index}-${del_day}")
    37. done
    38. fi
    39. done
    40. # 循环删除索引
    41. for index_name in "${del_index_list[@]}"
    42. do
    43. echo -ne "\e[33;1m删除索引: ${index_name} 删除状态: \e[0m"
    44. # curl -XDELETE "http://192.168.240.208:9200/${index_name}"
    45. curl -s -XDELETE "${es_url}/${index_name}" --cacert "${es_ssl}" --user ${es_user_passwd}
    46. echo ""
    47. done
    48. }
    49. del_index_name
    50. EOF
    51. chmod +x /data/software/crond/delete_es_index.sh

    配置定时任务

    1. crontab -e
    2. 0 3 * * * /data/software/crond/delete_es_index.sh &> /dev/null

  • 相关阅读:
    Python+django+vue信息技术学习网站
    Apache Hive 入门
    (38)STM32——NRF24L01无线通信
    【报错】ubutun下启动nginx失败:500 internal server error
    将本地项目添加到github中的其他办法
    安全!稳定!可信!选OceanBase就对了
    第五章 树 1 AcWing 1476. 数叶子结点
    leetcode 图相关的题
    Unity架构之场景重新加载
    【AI工具】LM Studio 部署本地llama3以及python调用openai的API与llama3本地服务器进行问答...
  • 原文地址:https://blog.csdn.net/moyuanbomo/article/details/128042167