zoukankan      html  css  js  c++  java
  • 【shell脚本】定时备份日志===logBackup.sh

    定时备份日志

    设置执行权限

    [root@VM_0_10_centos shellScript]# chmod a+x logBackup,sh

    脚本内容

    [root@VM_0_10_centos shellScript]# cat logBackup,sh
    #!/bin/bash
    #===========================================
    # BACKUP LOGS
    #===========================================
    # 设置显示的日期格式:年-月-日
    time=`date +%Y-%m-%d`

    # 备份路径
    path=/usr/local/apache-tomcat-8.5.45/logs
    cd $path

    # 备份日志,格式为catalina.2019-10-08.log
    cat catalina.out > $path/catalina.$time.log

    # 清空已备份好的日志
    cat /dev/null > $path/catalina.out

    # 将25天之前的日志打包好,然后删除
    total=`find $path -name "*.log" -mtime +25 | wc -l`
    if [ $total -eq 0 ];then
      echo "[info] 没有25天之前的日志";
    else
      find $path -name "*.log" -mtime +25 | xargs tar -zcf /tmp/log_$time.tar.gz;
      find $path -name "*.log" -mtime +25 | xargs rm -rf {} ;
    fi

    # 最后设置好定时任务即可,每天凌晨定时执行
    # 0 0 * * * /usr/local/shellScript/logBackup.sh

    分析

    1)先定义备份格式,和备份路径,切换到备份路径下进行备份操作

    2)备份日志格式为catalina.2019-10-08.log,并清空备份好的日志

    3)统计查询25天之前的日志总数

    4)判断是否有25天之前的日志,如果有则将25天之前的日志打包备份到/tmp目录下;如果没有则统计的总数等于0,不进行备份操作,并输出提示信息

    5)设置定时任务

    设置定时任务

    [root@VM_0_10_centos shellScript]# crontab -e
    0 0 * * * /usr/local/shellScript/logBackup.sh
  • 相关阅读:
    使用BeanShell 对比取出来的值
    https 请求的端口是443 注意
    Jmeter录制App 请求是HTTPS的
    Charles-断点
    随手记--分配事件概率
    看日志有没有 出现错误的字段 (如 crash ) 查找app闪退
    学习的网站
    xss 攻击 sql 注入
    app的apk 安装的方法--adb--命令安装 (含把apk放某个文件夹,每次启动自己安装)
    把2列相加的方法
  • 原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/11636814.html
Copyright © 2011-2022 走看看