使用 shell 自动释放磁盘空间

有一台测试机上面部署了 Web 服务,很多人代码会打 debug 日志。机器磁盘有限,需要自动去清理历史的日志。

脚本

#clean_trash.sh
#!/usr/bin/env bash
df > disk.dat
remain=`sed -n "3, 1p" disk.dat | awk 'END{print $4}'`
if [[ $remain -lt 2000000 ]];then
    echo "Space No Left: $remain"
    find /home/qspace/log/info/ -cmin +120 -name "*" -exec rm -rf {} \;
    find /home/qspace/log/error/ -cmin +120 -name "*" -exec rm -rf {} \;
    find /home/qspace/upload/ -type f -size +100M -exec rm -rf {} \;
else
    echo "Space OK: $remain"
fi

使用 df 去检查磁盘空间,一旦磁盘剩余空间小于 2G,将 log 和 error 中 2 小时前的日志删除。另外,也删除上传目录中大于 100 M 的 文件。

配置 crontab

crontab 是 linux 自带的定时任务管理器,将上述脚本配置为每十分钟执行一次

*/10 * * * * /home/myhome/clean_trash.sh >/dev/null 2>&1

转载于:https://my.oschina.net/lvyi/blog/811828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值