根据文件修改日期清理一个月之前的日志文件
#!/bin/bash
#删除30天以前的日志数据 日志位于./logs 文件夹下
find ./logs/ -mtime +30 -name "*.log*" -exec rm -rf {} \;
根据文件名清理一个月之前的日志文件
#要删除日志的时间区间
log_dir=/logs
content=$(date +%Y%m%d --date '1 month ago')
cd $log_dir
#计算删除文件的数量
FileNum=$(find -name "*$content*".log|wc -l)
echo "------clean logs file:$(date +%Y%m%d_%H%M%S)------">>log.txt
if [ "$FileNum" -gt 0 ];then
echo "delete [$content]" >> log.txt
rm -rf ./*$content*
fi
配上定时任务自动执行
赋予脚本可执行权限
chmod +x ./***
#进入编辑定时任务
crontab -e
00 22 * * * /data/logs/log_clean.sh
#查看定时任务
crontab -l