原 centos8下安装cronolog对tomcat7日志文件catalina.out进行分割
版权声明:本文为博主原创文章,请尊重他人的劳动成果,转载请附上原文出处链接和本声明。
本文链接:https://www.91mszl.com/zhangwuji/article/details/1315
一:下载 cronolog。
下载地址:https://centos.pkgs.org/7/epel-x86_64/cronolog-1.6.2-14.el7.x86_64.rpm.html
二:安装cronolog。
我们将下载下来的cronolog-1.6.2-14.el7.x86_64.rpm 放在opt目录下面。
cd /opt
rpm -i cronolog-1.6.2-14.el7.x86_64.rpm
默认安装在 /usr/sbin/cronolog 目录下。
三:验证cronolog是否安装成功,出现安装路径表示安装成功。
which cronolog
四:在tomcat中配置cronolog,在/opt/tomcat-project/bin目录下找到catalina.sh文件,更改里面的配置。
4.1)第一处更改。在195行的位置。
更改前:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
更改后:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out
fi
更改后的截图:
4.2)第二处,在398行的位置。
更改前:
touch "$CATALINA_OUT"
更改后:
#touch "$CATALINA_OUT"
更改后的截图:
4.3)第三处,在411和420行的位置(两处)。
更改前(注意观察颜色标记的地方):
shift
touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
else
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
更改后:
shift
#touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null&
else
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null&
五:重启tomcat就可以看到效果了,日志按天进行了分隔,效果如下图所示。
六:定期删除日志文件。
6.1)在这里直接使用linux自带的crontab定时任务工具,设置每天凌晨00:00执行删除任务,删除7天以前的日志文件,编写shell脚本auto_del_log.sh。我们删除 /opt/tomcat-mszl/logs目录下的带.out;.log;.txt后缀的日志文件。我们将auto_del_log.sh放在opt目录下,auto_del_log.sh脚本如下:
#!/bin/bash
#echo "====`date`====" >> /opt/tomcat-mszl/logs
find /opt/tomcat-mszl/logs/ -mtime +7 -name "*.out" -exec rm -rf {} \;
find /opt/tomcat-mszl/logs/ -mtime +7 -name "*.log" -exec rm -rf {} \;
find /opt/tomcat-mszl/logs/ -mtime +7 -name "*.txt" -exec rm -rf {} \;
6.2)我们执行crontab -e将定时任务添加到crontab中。
crontab -e
然后输入命令,表示每天凌晨00:00 执行定时任务。
00 00 * * * /opt/auto_del_log.sh
可以通过crontab -l命令查看定时任务计划
crontab -l
6.3)启动 crontab
/bin/systemctl start crond.service
6.4 常用的命令:
启动定时任务:/bin/systemctl start crond.service
停止定时任务:/bin/systemctl stop crond.service
重启定时任务:/bin/systemctl restart crond.service
查看定时任务状态:/bin/systemctl status crond.service
查看任务:crontab -l
添加任务:crontab -e
删除任务:crontab -r
查看crontab日志,日志路径在/var/log
tail -f /var/log/cron
crontab时间设置:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
minute: 区间为 0 – 59
hour: 区间为0 – 23
day-of-month: 区间为0 – 31
month: 区间为1 – 12. 1 是1月. 12是12月
Day-of-week: 区间为0 – 7. 周日可以是0或7
参考:
https://blog.csdn.net/leaf_dai/article/details/84562083
https://blog.51cto.com/baihongzhe/2365642
https://blog.51cto.com/u_13178102/2070532
https://blog.csdn.net/unhejing/article/details/79924630
2021-05-06 17:44:48 阅读(1116)
名师出品,必属精品 https://www.91mszl.com
博主信息