shell编程—自动备份tomcat日志详解

一 . 实现功能

  1. 每天凌晨一点,将tomcat中的catalina.out日志压缩并备份到目标文件夹中,以当天日期为格式,然后清空日志。
  2. 删除超过15天的备份日志,并将logs中的其他日志文件每7天清空一次(如 localhost.2018-09-21.log等)

二 . 思路

  1. 用date函数截取当前时间日期
  2. 将logs中的catalina.out文件用gzip命令打包压缩移动到目标文件夹
  3. 用find命令清除更改时间为15天以前的压缩包
  4. 用find命令配合for循环清空7天以前的日志文件
  5. 用crontab定时命令每天凌晨一点执行一次此shell脚本

三 . 脚本内容

        #!/bin/bash
        d=`date +%Y-%m-%d`
        path1=/usr/local/myshell
        path2=/usr/local/tomcat/logs
        cd $path2
        gzip -c catalina.out>$path1/catalina.$d.gz
        cat /dev/null>$path2/catalina.out
        find $path1 -mtime +15 -name "*.gz" -exec rm -rf {} \;
        for i in `find $path2 -mtime +7 -name "*.log"`
            do cat /dev/null>$i
            done
        for l in `find $path2 -mtime +7 -name "*.txt"`
            do cat /dev/null>$l
            done

四 . 脚本详解

  1. date +%Y-%m-%d
    date命令 显示当前时间
    +” 加号为设定显示的日期格式
    %Y%m%d%H 小时 %M分钟 %S
  2. gzip -c catalina.out>$path1/catalina.$d.gz
    gzip 为压缩命令 压缩后缀为.gz
    格式为 gzip -命令 要压缩的文件>压缩后的路径文件
    -c 不改动原始文件
  3. cat /dev/null>$path2/catalina.out
    /dev/null 是一个黑洞文件 可以用于丢掉数据,任何进入她的数据都会丢失,将她导入任何文件,文件都会变成空白。
    cat进行查找并输入/dev/null中的内容进入日志,从而实现清空日志的目的
  4. find $path1 -mtime +15 -name "*.gz" -exec rm -rf {} \;
    find命令为查找
    -mtime 为内容被修改的时间(经常用于find 配合rm删除多少天前创建的文件)
    -ctime 为状态发生改变的时间(权限 位置等)
    -atime 为最近访问的时间
    +”为多少天前 “-”为多少天内
    -name 为名字符合name的文件
    -exec 将查找到的内容进行后续的操作
    {}代表find查到的结果
    是代表 -exec后的命令一直到结束
    \为转义
  5. for l in find $path2 -mtime +7 -name "*.txt"
    for 循环意味重复查找符合“”中条件的文件并进行清空文件的操作

五 . crontab定时任务

0 1 * * * /usr/local/myshell/tomcat.sh

crontab -e 可以编辑定时任务
0 1 * * *
这五个符号分别为 分钟 小时 日 月 星期
*为所有时间
所以上面的意思为每天凌晨一点运行一次tomcat.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值