ZooKeeper日志自动清理实用脚本

ZooKeeper日志自动清理:保持系统整洁的实用脚本

在管理ZooKeeper集群时,定期清理日志文件是一项重要但常被忽视的任务。本文将介绍一个简单而有效的bash脚本,用于自动清理ZooKeeper的日志和快照文件,并讨论如何使用cron来定期执行此脚本。

磁盘告警,所以写了一个脚本 定期清理。

脚本内容

首先,让我们看看这个清理脚本的内容:

bash 复制代码
#!/bin/bash

#snapshot file dir
dataDir=/var/zookeeper/version-2
#tran log dir
dataLogDir=/var/zookeeper/version-2
logDir=/usr/local/zookeeper/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

脚本解析

让我们逐行分析这个脚本:

  1. #!/bin/bash: 这是shebang,指定使用bash解释器执行此脚本。

  2. 定义了三个目录变量:

    • dataDir: 存储快照文件的目录
    • dataLogDir: 存储事务日志的目录
    • logDir: 存储ZooKeeper日志的目录
  3. count=60: 设置保留的文件数量为60个。

  4. count=$[$count+1]: 将count增加1,这是为了在使用tail命令时正确计算要删除的文件数。

  5. 接下来的三行是清理逻辑的核心:

    bash 复制代码
    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

    每行都执行以下操作:

    • ls -t: 按时间顺序列出文件
    • tail -n +$count: 选择旧于前60个的所有文件
    • xargs rm -f: 删除这些文件

自动化执行

要自动执行这个脚本,我们可以使用cron。以下是一个cron表达式示例:

复制代码
2 2 * * * /bin/bash /data/www/cleanlog.sh > /dev/null 2>&1

这个cron表达式的含义是:

  • 每天凌晨2:02执行脚本
  • 脚本输出被重定向到/dev/null,不保存日志

结论

这个简单的脚本可以有效地管理ZooKeeper的日志和快照文件,防止磁盘空间被耗尽。通过cron自动化执行,可以确保系统始终保持整洁和高效。在实际部署时,请根据您的具体需求和环境调整脚本参数和执行频率。

相关推荐
方方洛7 小时前
ray教程-13-RayTrain与分布式训练
人工智能·分布式·机器学习
黄俊懿13 小时前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述
数据结构·数据库·分布式·缓存·架构·系统架构·1024程序员节
红海云14 小时前
两台DGX Spark部署DeepSeek的实战边界
大数据·分布式·spark
GlobalInfo1 天前
上新 | 全球及中国起重机摄像系统行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·分布式·微服务·ai·相机
方方洛1 天前
ray教程-11-可观测性与调试
人工智能·分布式·机器学习
samforce2 天前
为什么微服务会退化成“分布式单体”?——软件架构里的嵌套率传导定律
人工智能·分布式·微服务·架构·软件架构·结构认知
每天一道题2 天前
Kafka 是如何工作的?从 Broker、Partition、Offset 到 Consumer Group
分布式·kafka
用户1494484813202 天前
为什么大厂很少直接用 2PC/TCC?聊聊分布式事务在真实业务里的落地套路
分布式·后端
code_slave(码畜)2 天前
微服务架构落地:分库分表实战(下) —— 分布式主键、跨分片查询与分页聚合防坑
数据库·spring boot·分布式·spring cloud·微服务·架构·分库分表
德迅云安全-上官2 天前
新一代智能分布式云接入:应用加速守护 TCP 业务安全与体验
分布式·tcp/ip·安全