linux定时判断磁盘空间容量,并清理指定文件夹

问题

  • 边缘设备或者服务器,存储一段时间图片后,空间越来越小,需要删除文件

解决方法

  • 利用linux自带的crontab,定时执行某个脚本即可

删除文件脚本

  • 仅供参考 /usr/bin/delete_file.sh
#!/bin/sh

date_time=`date +'%Y-%m-%d %H:%M:%S'`

# grep可以根据固定的磁盘, 例如: /dev/sda1
percent=`df -h| grep 28G |grep -v grep |awk '{print $5}'|tr -d "%"` 

# 如果磁盘使用超过80%
if [ $percent -gt 80 ]; then
	echo "$date_time, cur: $percent,  delete files" >> /home/user/log.txt && rm -rf /home/nvidia/output;
else 
	echo "$date_time, cur: $percent,  do nothing" >> /home/user/log.txt; 
fi

crontab使用

  • 第一步: 初始化crontab

    • 第一次激活需要执行 crontab -e 即可激活
  • 第二步: 配置定时任务

    • 执行 crontab -e , 在最后一行加上0 * * * * /usr/bin/delete_file.sh, 一个小时执行一次
    • 解释: 分钟 小时 天 月 周 执行的命令或者脚本
  • 第三步: 查看cron状态

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

你可能感兴趣的:(软件,linux,linux,运维)