Tomcat日志文件定时清理备份的脚本

2025-05-26 0 32

以下脚本主要备份的日志文件为tomcat的catalina.out、localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为"projectname-yyyy-mm-dd.log",以下为备份脚本,具体的操作都有相应的注释,供大家参考,具体情况请根据日志文件的格式和要求来使用本脚本。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48
#!/bin/sh

######

# 日志定时运行时间为每天01

# 删除20天之前的日志文件,压缩一周之前的日志文件

# 日志文件时间是根据日志名称后面的日期来计算

# 运行脚本注意日志文件中是否有其他相同后缀的非日志文件和日志文件名称是否符合要求

######

#日志文件所在目录

path=/home/tomcat/apache-tomcat-project/logs

#进入日志目录

cd $path

#catalina.out日志文件备份

#获取前一天的日期

bak_date=`date +%Y-%m-%d -d "1 days ago"`

#备份catalina.out日志,后面添加日期

cp catalina.out catalina.out.$bak_date.log

#清空catalina.out日志文件

echo > catalina.out

#20天之前的日志文件删除

#获取20天之前的日期

del_date=`date +%Y-%m-%d -d "20 days ago"`

#获取文件名中的日期字符串,然后对比时间进行相应的操作,localhost_access_log的后缀文件名一般是txt,这里包括txt文件

for n in `ls *.log *.txt -1`;do

m=`echo $n | awk -F. '{print $(NF-1)}'`

m=`echo ${m:0-10}`

if [[ $m < $del_date || $m = $del_date ]];then

echo file $n will be deleted.

rm -rf $n

fi

done

#一周之前的文件压缩

#获取一周之前的日期

zip_date=`date +%Y-%m-%d -d "7 days ago"`

#获取文件名中的日期字符串,然后对比时间进行相应的操作

for n in `ls *.log *.txt -1`;do

m=`echo $n | awk -F. '{print $(NF-1)}'`

m=`echo ${m:0-10}`

echo $n $m

if [ ! $m ]; then

echo "IS NULL"

continue

fi

if [[ $m < $zip_date || $m = $zip_date ]];then

echo file $n will be zip.

zip $n.zip $n

rm -rf $n

fi

done

以上所述是小编给大家介绍的Tomcat日志文件定时清理备份的脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

原文链接:http://www.cnblogs.com/jaamy/archive/2016/12/05/6133951.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Tomcat日志文件定时清理备份的脚本 https://www.kuaiidc.com/54531.html

相关文章

发表评论
暂无评论