问题
- 边缘设备或者服务器,存储一段时间图片后,空间越来越小,需要删除文件
解决方法
- 利用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