怎么查看nohup某个时间日志_运维技能篇:Tomcat日志切割详解教程

系统环境:Centos 7.4.1708

JDK:1.8.0_181

Tomcat:tomcat-8.5.13

cronolog工具


cronolog 简介:

cronolog 是一个简单的过滤程序,读取日志文件条目从标准输入和输出的每个条目并写入指定的日志文件的文件名模板和当前的日期和时间。当扩展文件名的变化,目前的文件是关闭,新开辟的。cronolog 旨在和一个Web服务器一起使用,如Apache、tomcat,分割访问日志为每天或每月的日志。

cronolog 安装(这里采用yum安装,也可以选择源码安装)

[root@localhost ~]# yum -y install epel-release

[root@localhost ~]# yum -y install cronolog

cronolog 使用

[root@localhost ~]# cronolog -h

usage: cronolog [OPTIONS] logfile-spec

-H NAME, --hardlink=NAME maintain a hard link from NAME to current log

-S NAME, --symlink=NAME maintain a symbolic link from NAME to current log

-P NAME, --prev-symlink=NAME maintain a symbolic link from NAME to previous log

-l NAME, --link=NAME same as -S/--symlink

-h, --help print this help, then exit

-p PERIOD, --period=PERIOD set the rotation period explicitly

-d DELAY, --delay=DELAY set the rotation period delay

-o, --once-only create single output log from template (not rotated)

-x FILE, --debug=FILE write debug messages to FILE

( or to standard error if FILE is "-")

-a, --american American date formats

-e, --european European date formats (default)

-s, --start-time=TIME starting time

-z TZ, --time-zone=TZ use TZ for timezone

-V, --version print version number, then exit

cronolog 一般是采取管道的方式来工作的,采用如下的形式:

[root@localhost ~]# loggenerator | cronolog log_file_pattern

其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern为%字符后跟一特殊字符,简述如下:

转义符:

% %字符

n 换行

t 水平制表符

时间域:

H 小时(00..23)

I 小时(01..12)

p 该locale下的AM或PM标识

M 分钟(00..59)

S 秒 (00..61, which allows for leap seconds)

X 该locale下时间表示符(e.g.:"15:12:47")

Z 时区。若时区不能确定,则无意义

日期域:

a 该locale下的工作日简名(e.g.: Sun..Sat)

A 该locale下的工作日全名(e.g.: Sunday .. Satur-ay)

b 该locale下的月份简称(e.g.: Jan .. Dec)

B 该locale下的月份全称(e.g.: January .. December)

c 该locale下的日期和时间(e.g.:"Sun Dec 15 14:12:47 GMT 1996")

d 当月中的天数 (01 .. 31)

j 当年中的天数 (001 .. 366)

m 月数 (01 .. 12)

U 当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)

W 当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)

w 工作日数(0 .. 6, 0表示星期天)

x 该locale下的日期表示(e.g."13/04/97")

y 两位数的年份(00 .. 99)

Y 四位数的年份(1970 .. 2038)

用cronolog分割tomcat的catalina.out文件

1)查看cronolog安装后所在目录(验证安装是否成功)

[root@localhost ~]# which cronolog

/sbin/cronolog

2)编辑tomcat目录bin下的catalina.sh文件

找到下面这行,类似这样的行有2处:

org.apache.catalina.startup.Bootstrap "$@" start >> "$CATALINA_OUT" 2>&1 &

第一处:tomcat是带"-security"参数的启动,

第二处:默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。

另外还要把touch "$CATALINA_OUT"这行注释掉。

if [ -z "$CATALINA_OUT" ] ; thenCATALINA_OUT="$CATALINA_BASE"/logs/catalina.outfi

修改为

if [ -z "$CATALINA_OUT" ] ; thenCATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.`date +%Y-%m-%d`fi

找到446行,修改如下

#touch "$CATALINA_OUT"if [ "$1" = "-security" ] ; thenif [ $have_tty -eq 1 ]; thenecho "Using Security Manager"fishifteval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS -D$ENDORSED_PROP=""$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 | /sbin/cronolog "$CATALINA_OUT" >> /dev/null >> "$CATALINA_OUT" 2>&1 "&"elseeval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS -D$ENDORSED_PROP=""$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 | /sbin/cronolog "$CATALINA_OUT" >> /dev/null >> "$CATALINA_OUT" 2>&1 "&"fi

保存退出~~

3)重启tomcat服务

[root@localhost bin]# pwd

/usr/local/tomcat/bin

[root@localhost bin]# ./shutdown.sh

[root@localhost bin]# ./startup.sh

[root@localhost bin]# cd ../logs/

[root@localhost logs]# ll

ae7c0e7f88965a71edd0270954bfc7ab.png

tomcat

查看日志目录是否生成catalina.out.yymmdd的日志文件

配置cronolog完成了,观察每天是否有一个新的catalina.out.yymmdd的日志文件生成,定期删除日期较旧的日志文件


分享完成,谢谢支持,多评多转

对Linux感兴趣的小伙伴私信Linux资料”,免费获取视频文档资料。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值