按天分割备份Catalina.out

因公司项目用的是Tomcat,因为长时间运行导致Catalina.out文件过大,而影响运行效率。故设法解决此问题, 网上搜索到的处理方式都比较的繁琐,本人经过尝试最终效果都不是很理想,经过多次实验,把本人的处理方式记录如下:

1. 基本思路:首先把catalina.out文件定时备份,为了节省空间可以进行压缩(文档的压缩比还是挺高的)。    需要处理两个问题:编写按天备份压缩的脚本和设置系统任务定时执行脚本。

2.脚本内容:

Java代码   收藏代码
  1. #!/bin/bash  
  2. #By:Lomis, Time:2015/09/07, Version:1.0  
  3. # 本脚本主要用于隔天定时备份Tomcat的catalina.out日志.  
  4.   
  5. ##定义变量  
  6. tomcat_path="/usr/local/webapps/tomcat-7";  
  7. tomcat_log_path=$tomcat_path"/logs";  
  8.   
  9. ##获取时间  
  10. today=$(date +%Y-%m-%d);  
  11. log_file="catalina.out";  
  12. bak_file="catalina."$today".out";  
  13. bak_gz_file="catalina."$today".tar.gz";  
  14.   
  15. if [ ! -f $tomcat_log_path"/"$bak_gz_file ];then  
  16.         if [ ! -f $tomcat_log_path"/"$log_file ]; then  
  17.                 exit 0;  
  18.         fi  
  19.   
  20.         ##复制文件  
  21.         echo 执行命令:cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file;  
  22.         cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file;  
  23.   
  24.         ##清空catalina.out文件  
  25.         echo 执行命令:echo "" > $tomcat_log_path"/"$log_file;  
  26.         echo "" > $tomcat_log_path"/"$log_file;  
  27.   
  28.         ##压缩备份文件  
  29.         echo 执行命令: tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file;  
  30.         tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file;  
  31.   
  32.         ##删除原备份文件  
  33.         echo 执行命令: rm -rf $tomcat_log_path"/"$bak_file;  
  34.         rm -rf $tomcat_log_path"/"$bak_file;  
  35.   
  36. fi  
  37. ###删除30天前的日志文件  
  38. find $tomcat_log_path"/" -mtime +30 -name "*.log" -exec rm -rf {} \;  

 因为脚本中我加了注释,就不多做解释了。

伦理片 http://www.dotdy.com/ 

3.设置定时任务

   linux的定时任务需要用到crontab,。

   查询的资料说这个服务一般在安装系统的时候都会安装,但不会自己启动,需要自己手动启动下。

   但也有的linux系统可能没有安装,那就自己动手安装下。因为我的是centos系统,我用了yum install -y vixie-cron 这个命令进行的安装(安装很简单,不再赘述)。

  关于定时任务的设置,有个文章介绍的很详细,这里我把地址拿过来了:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html

 

我最终的定时任务设置:

Java代码   收藏代码
  1. 57 23 * * * /usr/local/webapps/program/bakCatalina.sh  

 


此方法可行,已经在我们的线上环境运行1个多月。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值