• 定期删除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

  • 相关阅读:
    jupyter notebook的插件安装以及快捷键
    LeetCode(力扣)216. 组合总和 IIIPython
    Metabase学习教程:入门-4
    面试官:设计模式之简单工厂模式
    Vue 组件之间的通信
    meta视口标签
    浅看SpringBoot的自动装配
    CSS 常用样式-文本属性
    LabVIEW性能和内存管理 8
    如何使用Vue原生组件编译应用程序主题?这个工具不要错过
  • 原文地址:https://blog.csdn.net/moyuanbomo/article/details/128042167