码迷,mamicode.com
首页 > 其他好文 > 详细

tomcat集群日志切割和远程备份脚本分享

时间:2017-11-27 11:01:48      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:shell脚本   tomcat   日志切割   日志备份   

笔者一共有3台tomcat服务器,一共4个tomcat服务,未来还会增加4个作为负载,笔者想通过在存储服务器对tomcat服务的日志进行远程切割和备份到存储上。

文中采用清空日志的方式,优点是不用重启tomcat就能回收磁盘空间,缺点可能会丢失一小部分日志内容,所以笔者定时在了夜里3点执行。

本文中远程执行命令和scp用到了expect脚本,请查看expect的博文http://blog.51cto.com/eisen/2044536

#!/bin/sh

back_date=`date -d "yesterday" +%F`    #定义日期变量为昨天的日期

back_month=`date -d "0-month" +%Y-%m`    #定义月份

#139=172.16.1.139

#140=172.16.1.140

#1521=172.16.1.152

#1522=172.16.1.152

for n in {139,140,1521,1522}    #笔者152这台机器上有两个tomcat所以用1521和1522来表达

do

  if [ $n -eq 139 ];then

        tomcat_ip=172.16.1.139   #备份的tomcat地址

        tomcat_path=/data/tomcat        #tomcat路径

        catalina_out=139_catalina_out   #保存到本地项目路径

  elif [ $n -eq 140 ];then

        tomcat_ip=172.16.1.140

        tomcat_path=/data/tomcat

        catalina_out=140_catalina_out

  elif [ $n -eq 1521 ];then

        tomcat_ip=172.16.1.152

        tomcat_path=/data/tomcat

        catalina_out=1521_catalina_out

  elif [ $n -eq 1522 ];then

        tomcat_ip=172.16.1.152

        tomcat_path=/data/tomcat

        catalina_out=1522_catalina_out

fi

if [ ! -d /data/logs_back/$tomcat_ip/$catalina_out/$back_month ];then

        mkdir -p /data/logs_back/$tomcat_ip/$catalina_out/$back_month    #创建路径,以tomcatIP、月份为目录

fi

#远程执行拷贝命令,以时间命名日志进行切割

/data/expect.sh $tomcat_ip "cp $tomcat_path/logs/catalina.out $tomcat_path/logs/catalina"$back_date".out"

#远程清空catalina.out

/data/expect.sh $tomcat_ip ">$tomcat_path/logs/catalina.out"

#远程执行压缩命令,将切割的日志压缩

/data/expect.sh $tomcat_ip "gzip $tomcat_path/logs/catalina"$back_date".out"

#远程拷贝到备份目录

/data/expect_scp.sh $tomcat_ip:$tomcat_path/logs/catalina"$back_date".out.gz /nfs/logs_back/$tomcat_ip/$catalina_out/$back_month/

#将备份好的日志从远程机器上删除,笔者发现gzip在shell中并没有删除源文件,这个问题留在之后验证

/data/expect.sh $tomcat_ip "rm -f $tomcat_path/logs/catalina"$back_date".out*"

done

 

tomcat集群日志切割和远程备份脚本分享

标签:shell脚本   tomcat   日志切割   日志备份   

原文地址:http://blog.51cto.com/eisen/2044524

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!