最新遇到了一个问题,就是由于程序日志文件比较大,总是会满,在节假日又不想看系统手动清理,于是就像到了,用shell脚本检查存储空间快满了来清理前几天的日志文件
文章目录
- 前言
- 一、首先创建shell脚本文件
- 二、后续操作命令
一、首先创建shell脚本文件
#!/bin/bash
# 设置日志文件所在的目录
LOG_DIR="/root/paiyidai/logs"
# 设置磁盘使用阈值(例如,当磁盘使用率达到92%时)
DISK_THRESHOLD=92
# 获取当前磁盘使用情况
CURRENT_DISK_USAGE=$(df --output=pcent / | tail -n 1 | sed 's/%//')
# 检查磁盘使用率是否超过阈值
if [ $(echo "$CURRENT_DISK_USAGE > $DISK_THRESHOLD" | bc -l) -eq 1 ]; then
echo "Disk usage is above $DISK_THRESHOLD%. Cleaning old log files..."
# 删除两天前以及更早的所有日志文件
find "$LOG_DIR" -type f -name "paiyidai-*" -mtime +1 -exec rm {} \;
echo "Deleted log files older than one day."
else
echo "Disk usage is below $DISK_THRESHOLD%. No action needed."
fi
二、后续操作命令
1.设置权限给shell脚本设置可执行
chmod +x /root/paiyidai/logs/scriptsh/deleteLog.sh
2.编辑定时任务
我这里设置的是六小时执行一次可根据自己实际情况设置(示例):
crontab -e 执行这个命令在里面配置定时任务频率
0 */6 * * * /root/paiyidai/logs/scriptsh/deleteLog.sh 我这里配置的是这个