elastic stack(九)es定时任务清除日志

基于es的内存和性能考虑、定时清除日志势在必行

一、编写es清除脚本

1、创建.sh文件(touch /gfkdata/elk/delete-elk.sh)

注意:.sh的首行必须是 #!/bin/sh

# 获取7天以前的日期
DATA=`date -d "1 week ago" +%Y.%m.%d`

#当前日期
time=`date`

# 打印语句
echo "删除"$DATA "的索引"
#删除7天前的日志 (--user elastic:123456 是密码验证,没有设置xpack的这段可以省略)
curl --user elastic:123456 -XGET "http://127.0.0.1:9200/_cat/indices/?v"|grep $DATA
if [ $? == 0 ];then
  curl --user elastic:123456 -XDELETE "http://127.0.0.1:9200/*-${DATA}"
  echo "于 $time 清理 $DATA 索引!"
fi

2、更改shell脚本权限

# 给shell脚本所有权限
sudo chmod 777 delete-elk.sh        
# 给shell基本执行的权限
sudo chmod u+x delete-elk.sh

3、执行清除脚本文件

./delete-elk.sh

执行结果如下(我是数据都删完了 所以没有删除):

二、linux定时任务执行es日志清除脚本

 crond :linux下用来周期性执行某种任务的守护进程

cron:服务名称、代表一个服务

crontab文件:crontab文件中,每一行都代表一个任务,每行的每个字段代表一段设置

1、检查是否安装了crontab软件

rpm -qa|grep crontab

2、安装crontab

sudo yum -y install crontab

3、crontab服务相关命令(root权限启动:sudo service crond satrt

/sbin/service crond start         # 服务启动
/sbin/service crond stop          # 服务关闭
/sbin/service crond restart       # 重启服务
/sbin/service crond reload        # 重新载入配置
/sbin/service crond status        # 服务是否运行

注意:如果以上无法启动,请按照括号中内容启动

4、定时任务配置

crontab -e     # 编辑定时任务
crontab -l     # 查看定时任务

定时任务:

# 每分钟执行一次
* * * * * /gfkdata/elk/delete-elk.sh
# 每晚9.30执行定时任务
30 21 * * * /gfkdata/elk/delete-elk.sh 

5、查看linu下定时任务的log

# 实时查看log
sudo tail -f /var/log/cron

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值