保留包含时间戳日志脚本
今天登陆主机发现磁盘空间不足,看了下是tomcat
的catalina.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