按天分割备份Catalina.out
2015-09-08 14:00
441 查看
因公司项目用的是Tomcat,因为长时间运行导致Catalina.out文件过大,而影响运行效率。故设法解决此问题, 网上搜索到的处理方式都比较的繁琐,本人经过尝试最终效果都不是很理想,经过多次实验,把本人的处理方式记录如下:
1. 基本思路:首先把catalina.out文件定时备份,为了节省空间可以进行压缩(文档的压缩比还是挺高的)。 需要处理两个问题:编写按天备份压缩的脚本和设置系统任务定时执行脚本。
2.脚本内容:
#!/bin/bash #By:Lomis, Time:2015/09/07, Version:1.0 # 本脚本主要用于隔天定时备份Tomcat的catalina.out日志. ##定义变量 tomcat_path="/usr/local/webapps/tomcat-7"; tomcat_log_path=$tomcat_path"/logs"; ##获取时间 today=$(date +%Y-%m-%d); log_file="catalina.out"; bak_file="catalina."$today".log"; bak_gz_file="catalina."$today".tar.gz"; if [ ! -f $tomcat_log_path"/"$bak_gz_file ];then if [ ! -f $tomcat_log_path"/"$log_file ]; then exit 0; fi if [ ! -f $tomcat_log_path"/"$bak_file ];then ##把新的日志连接到日志文件的末尾 cat $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; else ##复制文件 echo 执行命令:cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; fi ##清空catalina.out文件 echo 执行命令:echo "" > $tomcat_log_path"/"$log_file; echo "" > $tomcat_log_path"/"$log_file; ##压缩备份文件 echo 执行命令: tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file; tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file; ##删除原备份文件 echo 执行命令: rm -rf $tomcat_log_path"/"$bak_file; rm -rf $tomcat_log_path"/"$bak_file; fi ###删除30天前的日志文件 find $tomcat_log_path"/" -mtime +30 -name "*.log" -exec rm -rf {} \;
因为脚本中我加了注释,就不多做解释了。
3.设置定时任务
linux的定时任务需要用到crontab,。
查询的资料说这个服务一般在安装系统的时候都会安装,但不会自己启动,需要自己手动启动下。
但也有的linux系统可能没有安装,那就自己动手安装下。因为我的是centos系统,我用了yum install -y vixie-cron 这个命令进行的安装(安装很简单,不再赘述)。
关于定时任务的设置,有个文章介绍的很详细,这里我把地址拿过来了:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html
我最终的定时任务设置:
57 23 * * * /usr/local/webapps/program/bakCatalina.sh
此方法可行,已经在我们的线上环境运行1个多月。
相关文章推荐
- 按天分割备份Catalina.out
- cronolog分割Tomcat7的catalina.out
- linux taomcat catalina.out 日志分割
- Tomcat catalina.out日志使用log4j按天分割
- Tomcat日志分割减少catalina.out日志过大
- linux taomcat catalina.out 日志分割
- 分割tomcat日志文件catalina.out
- Linux下利用cronolog对Tomcat7 catalina.out 日志分割
- tomcat日志分割定期删除catalina.out
- tomcat catalina.out日志分割
- tomcat catalina.out 日志分割
- Cronolog 分割 Tomcat8 Catalina.out日志 (转)
- 安装 cronolog 分割 tomcat catalina.out 日志
- tomcat日志catalina.out按日期分割
- tomcat下catalina.out日志文件分割
- 按日期分割Tomcat日志文件catalina.out
- Linux环境下tomcat的catalina.out日志按日分割生成实现
- 定期分割tomcat输出文件 catalina.out
- Tomcat7 catalina.out 日志分割
- tomcat下catalina.out日志文件分割