设为首页 收藏本站
查看: 1138|回复: 0

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

[复制链接]

尚未签到

发表于 2018-12-5 12:32:13 | 显示全部楼层 |阅读模式
  笔者一共有3台tomcat服务器,一共4个tomcat服务,未来还会增加4个作为负载,笔者想通过在存储服务器对tomcat服务的日志进行远程切割和备份到存储上。
  文中采用清空日志的方式,优点是不用重启tomcat就能回收磁盘空间,缺点可能会丢失一小部分日志内容,所以笔者定时在了夜里3点执行。
  本文中远程执行命令和scp用到了expect脚本,请查看expect的博文http://blog.运维网.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-client
        catalina_out=1521_catalina_out
  elif [ $n -eq 1522 ];then
        tomcat_ip=172.16.1.152
        tomcat_path=/data/tomcat-server
        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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-643644-1-1.html 上篇帖子: Eclipse中的tomcat启动完成之后tomcat还一直提示启动中 下篇帖子: Nginx+JDK+MySQL+Tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表