linux定时获取磁盘剩余容量,并清理指定文件夹下最老的文件

运行某些自动存储图片或视频的任务时,可能会遇到磁盘空间被存满而导致无法进入系统的情况,所以可以写一个脚本定时获取磁盘剩余容量,并清理指定文件夹下最老的文件。

1.autodel.sh

#!/bin/sh

#获取当前时间格式化输出
date_time=$(date +"%Y%m%d-%H%M%S")

#获取指定文件夹下时间最早的文件
filename_d=$(find /path/to/del -type f | sort | head -n 1)

#获取磁盘剩余容量,grep 234g:筛选总容量为234G的那个磁盘,也可以根据别的条件筛选
#grep -v grep:去除grep,awk '{print $4}':打印第四列的数据,tr -d "G":去除G
nowSize=`df -h | grep 234G | grep -v grep | awk '{print $4}' | tr -d "G"`

#如果小于60G,-lt是左值小于右值,-gt是相反
if [ $nowSize -lt 60 ]; then
        echo "$date_time, cursize: $nowSize,  delete files: $filename_d" >> /path/autodel_log.txt && rm $filename_d;
else
        echo "$date_time, cursize: $nowSize,  do nothing" >> /home/zk/autodel_log.txt;
fi

2.crontab -e 定时任务激活

第一步: 初始化crontab

第一次激活需要执行 crontab -e 即可激活

第二步: 配置定时任务

执行 crontab -e , 在最后一行加上0 * * * * /path/auto_del.sh, 一个小时执行一次

或者0 7 * * * bash /path/auto_del.sh,每天七点执行一次
解释: 分钟 小时 天 月 周 执行的命令或者脚本
第三步: 查看cron状态

service cron status 是active的状态即成功
重启service restart cron
停止service stop cron

部分内容参考一下博主:


版权声明:本文为CSDN博主「千年恨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29176323/article/details/126898872

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值