Shell脚本切割tomcat的日志文件

所属分类: 脚本专栏 / linux shell 阅读数: 1416
收藏 0 赞 0 分享

鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了)

1:废话少说,直接贴上脚本:

#!/bin/sh
log_dir=/var/log/tomcat
monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路径
file_size=`du $monitor_file | awk '{print $1}'`
if [ $file_size -ge 102400 ]
then
if [ ! -d $log_dir ]
then
mkdir /var/log/tomcat #创建保存切割文件目录,这个路径可以自行修改,保存到你想要的目录
fi
cp $1 /var/log/tomcat/log-`date +%Y-%m-%d-%H%M%S`.log #保存日志文件
echo `date +%Y-%m-%d-%H:%M:%S`":文件切割" >>/var/log/tomcat/split.log #记录切割日志
echo "" > $1 #清空tomcat的log/catalina.out文件内容
fi

说明:这个脚本很简单,linux用个定时器没分钟定时扫描日志文件的大小,就是当文件大于100M的时候,先把文件复制到指定的目录,再清空原先tomcat的日志文件。这里是用crontab来使用定时器,至于这个命令的语法在这里就不多说,有兴趣的可以自行google,这里还是有个小小的不足,因为是按每分钟定时去扫描日志文件,所以最后切割文件大小还是会在100~102M之间。

然后就用定时器,定时执行这个脚本

2:用 crontab -e 编辑定时器代码

*/1 * * * * sh /lee_js/monitor_script.sh /opt/apache-tomcat-7.0.67/logs/catalina.out #第一个路径是脚本的路径,第二个参数是tomcat下catalina.out文件的绝对路径

然后保存

至此搞定日志切割

注:若没有crontab命令 可使用 yum安装:

yum install vixie-cron
yum install crontabs

以上所述是小编给大家介绍的Shell脚本切割tomcat的日志文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多