使用Shell脚本批量给tomcat日志打包压缩并清理

因生产环境的tomcat日志太多,需要做自动化清理,只留90内的,所以90天以外的就直接删除了,90内的就要用脚本批量打包再删除原文件

脚本如下:

[[email protected]] # cat for.sh
#!/bin/bash

tomcat_log=/usr/local/tomcat/logs
access_log=localhost_access_log

for (( i=74; i>6; i-- ))
do
        dates=`date +"%Y-%m-%d" -d "-${i}day"`
        cd $tomcat_log
        tar czf ${access_log}.${dates}.tar.gz ./${access_log}.${dates}.txt &>/dev/null
                sleep 1
                rm -fr ${tomcat_log}/${access_log}.${dates}.txt
done

原文地址:http://blog.51cto.com/passed/2175353

时间: 2024-10-22 14:43:47

使用Shell脚本批量给tomcat日志打包压缩并清理的相关文章

shell脚本实现查看tomcat日志

背景: 目前所有项目的部署路径都是/home/application_name/logs/catalina.out,每次查个log,都得进很深的目录,很麻烦,浪费时间.而且来来回回就几个命令. 需求: 查看项目实时输出的日志 脚本名称:cat_catalina_log.sh 脚本运行方式:sh  cat_catalina_log.sh  tomcat-8108 代码: #!/bin/bash tail -f /home/$1/logs/catalina.out 知识点: shell 传参 原文地

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 for i in $(seq -w 10) do         useradd -s /bin/bash oldboy$i         echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i done 脚本执行效果: [[email pro

Linux系统编写shell脚本批量创建和删除用户

一.编写shell脚本批量添加用户 实现方法:判断用户是否存在,存在则返回错误提示,同时判断用户文件是否存在,不存在则退出 1.创建添加用户脚本 [[email protected] ~]# vim useradd.sh #!/bin/bashif [ $# -eq 0 ];then        echo "你没有输入任何文件!"        exit 1fi if [ ! -f $1 ];then        echo "输入有误!"        exit

shell脚本中重启tomcat进程

shell脚本 #! /bin/bash SHUTDOWN="/root/tomcat/bin/shutdown.sh" STARTTOMCAT="/root/tomcat/bin/startup.sh" echo "关闭tomcat" $SHUTDOWN ps -ef |grep tomcat |grep /root/platform |grep -v 'grep'|awk '{print $2}' | xargs kill -9 sleep

shell脚本批量部署ssh

日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key

shell脚本-批量telnet

由于现网有时候要测试很多端口的连通性,所以就写了个小脚本,实现批量测试 将telnet成功的写入到telnet_alive.txt中,失败则写入telnet_die.txt中 #!/bin/bash#this script test UP to other host.#Iplist=/opt/script_test/iplist.dataPortnumber=7001for ip in $(cat iplist.data)do  (sleep 1;)|telnet  $ip $Portnumbe

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

shell脚本批量收集linux服务器的硬件信息快速实现

安装ansible批量管理系统.(没有的话,ssh远程命令循环也可以) 在常用的数据库里面新建一张表,用你要收集的信息作为列名,提供可以用shell插入. 批量安装所需工具包,smartmontools.dmidecode.mysql,可以用ansible命令:ansible all_host -s -m yum -a "name=mysql" 在本地写脚本. 获取默认IP:default_ip=$(ifconfig|head -n 2|tail -n 1|cut -d ":

利用shell脚本批量修改表

最近公司里因为开发新功能,程序员需要快速在某一个库里的所有表添加字段,于是就用shell脚本简单快速实现批量修改表添加字段 #!/bin/bash export mysql_bin=/usr/local/mysql/bin export database=database export tables=`$mysql_bin/mysql -Bse "use ${database};show tables;"` for i in ${tables}         do