第一种,也是运维人员最常用的,写一个删除日志脚本,每天定时执行即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
           
#snapshot file dir
dataDir=/home/nileader/taokeeper/zk_data/version-2
#tran log dir
dataLogDir=/home/nileader/taokeeper/zk_log/version-2
#zk log dir
logDir=/home/nileader/taokeeper/logs
#Leave 60 files
count=60
count=$[$count+1]
ls -t $dataLogDir/log.* | tail -n +$count | xargs rm -f
ls -t $dataDir/snapshot.* | tail -n +$count | xargs rm -f
ls -t $logDir/zookeeper.log.* | tail -n +$count | xargs rm -f

以上这个脚本定义了删除对应两个目录中的文件,保留最新的60个文件,可以将他写到crontab中,设置为每天凌晨2点执行一次就可以了。

第二种,使用ZK的工具类PurgeTxnLog,它的实现了一种简单的历史文件清理策略,可以在这里看一下他的使用方法:http://zookeeper.apache.org/doc/r3.4.3/api/index.html,可以指定要清理的目录和需要保留的文件数目,简单使用如下:

  1. java -cp zookeeper.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir><snapDir> -n <count>


第三种,对于上面这个Java类的执行,ZK自己已经写好了脚本,在bin/zkCleanup.sh中,所以直接使用这个脚本也是可以执行清理工作的。

第四种,从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的:

autopurge.purgeInterval  这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能。

autopurge.snapRetainCount 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。

本文转自 nileader 51CTO博客,原文链接:http://blog.51cto.com/nileader/932156,如需转载请自行联系原作者

【ZooKeeper Notes 9】ZooKeepr日志清理相关推荐

  1. ZooKeeper Notes 9】ZooKeepr日志清理

    转载请用注明:@ni掌柜nileader@gmail.com 在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认 ...

  2. kafka日志清理策略,compact和delete

    文章目录 1. kafka日志清理策略概述 2. kafka segment 2.1 segmnet 的作用 2.2 segment生成相关的配置 3. 日志清理delete策略 3.1 delete ...

  3. IIS日志清理CMD版,VBS版,JS版,WSH版

    'IIS日志清理之IIS日志生成系统(CreateIISLog.vbs)   '创建文件夹 Function CreateFolder(Folder)     On Error Resume Next ...

  4. Liunx下的日志清理shell脚本实战之日志备份

    Liunx下的日志清理shell脚本实战 一.脚本实现功能以及要求 二.shell脚本内容 一.脚本实现功能以及要求 二.shell脚本内容 一.脚本实现功能以及要求 1.日志备份目录,将日志备份到/ ...

  5. 跨平台日志清理工具 Log-Cutter v1.0.3 正式发布

    Log-Cutter 是JessMA开源组织开发的一个简单实用的日志切割清理工具.对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方 ...

  6. 运维记录 - 业务日志清理功能

    线上某些系统业务跑一段时间后,日志就会越来越多,考虑到业务机器磁盘有限,需要添加业务日志清理功能.根据日志所在分区磁盘使用情况来判断是否清理日志,比如当日志分区磁盘空间使用超过90%时,将一周前的日志 ...

  7. Kafka日志清理之Log Compaction

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. Kafka日志清理之Log Deletion

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  9. 我的一个学生在运维工作中写的自动日志清理脚本程序

    本文是我的一个学生在运维工作中写的自动日志清理脚本程序,我这里不评价该shell脚本写的好与坏,只是发出来,和大家做一个分享,如果能给大家带来一点点思路上的参考就够了. 自动日志清理脚本程序 #!/b ...

最新文章

  1. LeetCode简单题之检查是否所有字符出现次数相同
  2. mybatis里的日志动态代理
  3. 使用Spring和Hibernate进行集成测试有多酷
  4. HDU 5944 Fxx and string(暴力/枚举)
  5. ECCV 2018 完整论文集 -- List 下载链接
  6. WordPress疑难问题以及解决方案汇总
  7. 2017.9.4 栅栏 失败总结
  8. maven错误解决:编码GBK的不可映射字符
  9. netty的使用部署
  10. 关于线段树套伸展树被卡常
  11. wincc控件包下载_Simatic HMI WinCC V7.4 SP1 组态软件下载
  12. 【数据应用案例】金融行业大数据用户画像实践
  13. linux命令行使用for循环,linux命令:for循环
  14. 4.深度强化学习------PPG(Phasic Policy Gradient)算法资料+原理整理
  15. 单链表的插入操作(全)
  16. macbook 打开以后没有声音,重启以后又好了的解决方法
  17. 组装台式机后进入PE,检测不到硬盘的解决方法
  18. 张氏华孙公 福建省上杭县张氏第一代开基祖宗
  19. java小组的队名,霸气小组名称口号大全
  20. 综述:轻量级CNN架构设计

热门文章

  1. python课程与c+课程有什么不同-南通渡课少儿编程:python和C的区别是什么?
  2. python基础常用语句-Python-基础-常用术语对照表
  3. python趣味编程10例-python趣味编程100例(99个)
  4. python入门基础代码图-【01】Python基础入门 (全)
  5. python一次性读取整个文件-使用Python读取大文件的方法
  6. python读文件代码-Python读取表格类型文件代码实例
  7. ssh连接服务器出现:ssh: connect to host 192.168.1.107 port 22: Connection refused 的解决方法
  8. LeetCode Bitwise AND of Numbers Range(位操作)
  9. 25个Java机器学习工具库
  10. json中的值类型及输出对象的所有名称和对应的值