关闭

定时删除旧日志

96人阅读 评论(0) 收藏 举报
分类:

1.通过cronolog工具进行日志的切分

2.写.sh脚本删除旧日志

chmod +x aa.sh
./aa.sh

3.通过cron服务定时任务执行.sh文件


附源码(deleteOldLog.sh):

#!/bin/bash


log_path="/usr/share/apache-tomcat-7.0.63/logs"
expried_time=5


function deleteLog(){
	#获取系统时间,所有时间格式都是秒
	local currentDate=`date +%s`
	echo "current Date:" $currentDate


	for file in `find $1 -name "catalina.*.out"`
	do
		local name=$file
		local modifyDate=$(stat -c %Y $file)
		
		#对比时间,算出日志存在时间,距离最近一次修改
		local logExistTime=$(($currentDate - $modifyDate))
		echo $logExistTime
		logExistTime=$(($logExistTime/86400))
		echo $logExistTime	
		if [ $logExistTime -gt $expried_time ]; then
			echo "File: " $name "Modify Date:" $modifyDate + "Exist Time:" $logExistTime + "Delete:yes"
			rm -f $file
		else
			echo "File: " $name "Modify Date:" $modifyDate + "Exist Time:" $logExistTime + "Delete:no"
		fi
	done
}


deleteLog $log_path


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6003次
    • 积分:248
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类