shell脚本案例(二):HDFS文件定期清理

当前环境的HDFS的空间使用率,即将达到95%,手动清理比较繁琐,需要写个脚本定期清理下最早5天的日志量。方法之一:


案例

定期检查hdfs的空间占用率,若超过95%,则删除最早5天的日志文件。

解决思路

  1. 设定使用率阈值
  2. 查询当前使用率,若达到阈值,查找出最早5天的文件
  3. 将查找到的文件删除

问题

  1. Linux shell可以用find通过时间来查找文件,但hdfs shell 的find参数似乎不能用时间来查找。因此需要先将dfs ls下的文件进行时间排序。就可以找出最早的文件了.
  2. hdfs dfs rm用来删除文件,这个命令是将文件移动到回收站,回收站同样占用空间。使用-skipTrash参数可以直接永久删除。

脚本编写

#!/bin/bash
# 检查dfs磁盘空间,清理过期日志

day=5
limit=95

basedir=/app/applogs
logfile=/app/scripts/logs/clear_hdfs_logs.log


logger(){
  msg=$1
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值