保留包含时间戳日志脚本


今天登陆主机发现磁盘空间不足,看了下是tomcatcatalina.out日志较多,查看logging.properties如下:

]$ tail logging.properties

# To see debug messages for HTTP/2 handling, uncomment the following line:
#org.apache.coyote.http2.level = FINE

# To see debug messages for WebSocket handling, uncomment the following line:
#org.apache.tomcat.websocket.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 3
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 3
3manager.org.apache.juli.AsyncFileHandler.maxDays = 3
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 3

貌似没生效,也没查到为啥不生效。。。

写个简单脚本应付下吧(必须要有时间戳才行,时间戳中间有字符的就拼接下)。

$ chown op1: .keep3days.sh
$ chmod +x .keep3days.sh
$ ll -a
total 1489884
drwxr-x---  2 op1 op1       262 Nov 27 10:51 .
drwxr-xr-x 12 op1 op1      4096 Aug  5 16:10 ..
-rw-r-----  1 op1 op1     47084 Nov  8 20:47 catalina.2020-11-08.log
-rw-r-----  1 op1 op1 205219476 Nov 27 10:51 catalina.out
-rw-rw-r--  1 op1 op1         0 Nov 27 10:49 catalina.out-20201125
-rw-r-----  1 op1 dwetl 660891119 Nov 26 03:41 catalina.out-20201126
-rw-r-----  1 dwetl dwetl 650634394 Nov 27 03:46 catalina.out-20201127
-rw-r-----  1 dwetl dwetl         0 Nov  8 20:47 host-manager.2020-11-08.log
-rwxr-xr-x  1 dwetl dwetl       230 Nov 27 10:49 .keep3days.sh
-rw-r-----  1 dwetl dwetl       761 Nov  8 20:47 localhost.2020-11-08.log
-rw-r-----  1 dwetl dwetl         0 Nov  8 20:47 manager.2020-11-08.log

保留4天日志脚本如下:

$ cat .keep3days.sh
#!/bin/bash
home=/export/package/front-tomcat
time1=$(date "+%Y%m%d")
j=$(expr $time1 - 3)

#echo $j
for i in `ls $home/logs | grep out | awk -F '-' '{print $2}'`
do
        #echo $i
        if [ $j -ge $i ];then
                rm -f $home/logs/catalina.out-$i
        fi
done