一、日志切割和定期删除
在tomcat的软件环境中,如果我们任由日志文件无限增长,单个文件太大,并且总有一天会将磁盘占满等问题。特别是在日志文件增长速度很快的一些情况下,如出现报错时,日志增长尤为明显,这样,当我们需要去日志寻找有用的信息时,日志太大而没法很好操作。由此就需要对tomcat的服务器进行日志的切割及对过期日志进行定时删除。
1、日志切割
1.1下载cronolog
cd /usr/local
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
1.2编译安装cronolog
[root@kafka01 src]# tar xf cronolog-1.6.2.tar.gz
[root@kafka01 src]# cd cronolog-1.6.2
[root@kafka01 cronolog-1.6.2]# ./configure
[root@kafka01 cronolog-1.6.2]# make && make install
1.3配置tomcat日志切割( 配置完成后,重启tomcat即可 )
修改配置文件catalina.sh(如果windows则是catalina.bat)
org.apache.catalina.startup.Bootstrap"$@"start \>>"$CATALINA_OUT"2>&1"&"
替换为:
org.apache.catalina.startup.Bootstrap"$@"start \2>&1|/usr/local/sbin/cronolog"$CATALINA_BASE/logs/catalina-%Y-%m-%d.out"&
2、定时删除过期日志
使用linux自带的crontab定时任务工具,来删除以前的日志文件。
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
2.1创建shell脚本
#!/bin/bash
#echo "====`date`====" >> /usr/local/test_cron.log
find /usr/local/tomcat/logs/* -mtime +7 -name "*.log.*" -exec rm -rf {} \;
清理7天前的日志文件
2.2脚本赋予权限
chmod 755 test_cron.sh
2.3编写定时任务
crontab -e
10 0 * * * /usr/local/test_cron.sh
按ctrl+X ,再按Y保存,定时任务已经配置成功。
网友评论