Shell脚本删除30天之前的日志

版权声明:本文为博主原创文章,未经博主允许不得转载。原创不易,转载请注明出处。 https://blog.csdn.net/sinat_27933301/article/details/85946046

第一种方式:根据文件的修改日期

#!/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

猜你喜欢

转载自blog.csdn.net/sinat_27933301/article/details/85946046
今日推荐