简单运维
开发环境硬件配置小 , 经常要清理空间 . 写个简单的清理脚本去运维 .
清理java日志 .
# cleanLog.sh
# 日志目录
LOG_DIR=/path/to/log
cd $LOG_DIR
# 历史日志的文件格式是 , app-xxxx-xx-xx.log. 捞大于1k的文件去清空
for logfile in `find ./ -size +1k -name "app*.log"`;do
cat /dev/null > $logfile
echo $logfile "清理完成"
done
清理 gc 日志 .
# cleanGC.sh
# 日志目录
LOG_DIR=/path/to/gc
cd $LOG_DIR
# 历史日志的文件格式是 , gc-xxxx-xx-xx.log. 捞大于1k的文件去清空
for gcfile in `find ./ -size +1k -name "gc*.log"`;do
cat /dev/null > $gcfile
echo $gcfile "清理完成"
done
清理 es 空间 .
有些流水日志写到es里 , 排查要用 ,又不能关. 只能手动定时清理了.
删除整个索引
有些是按时间划分了冷热数据 . 历史数据直接删了就行了. 执行删除就会释放空间的.
# cleanES.sh
# 删除前一天的索引数据
DAY=`date -d -1"days" +%Y-%m-%d`
curl -X DELETE http://127.0.0.1:9200/DailyAccount-$DAY
只保留最近数据
有些只有一个索引, 那么只保留最近数据 .
1)delete_by_query设置检索近100天数据;
2)执行forcemerge操作,手动释放磁盘空间。
# 删除动作
curl -H'Content-Type:application/json' -d'{
"query": {
"range": {
"pt": {
"lt": "now-100d",
"format": "epoch_millis"
}
}
}
}
' -XPOST "http://127.0.0.1:9200/logstash_*/_delete_by_query?conflicts=proceed"
# merge动作
curl -XPOST 'http://127.0.0.1:9200/_forcemerge?only_expunge_deletes=true&max_num_segments=1'
crontab 命令
加 crontab 执行脚本, 创建文件 cron.cron(个人建议使用文件的方式创建cron , 可以适当做些注释说明) , 添加如内容:
# cron.cron文件
# 清理日志
0 0 1 * * sh /path/to/scripts/cleanLog.sh
# 清理GC
0 0 2 * * sh /path/to/scripts/cleanGC.sh
# 清理ES
0 0 3 * * sh /path/to/scripts/cleanES.sh
将脚本添加到 crontab
crontab cron.cron
确认crontab
crontab -l
原文地址:http://www.cnblogs.com/ElEGenT/p/16846884.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性