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
  • 相关阅读:
    1.MySql安装
    struts文件上传、文件下载
    Java内存模型
    虚拟机类加载机制
    JAVA内存管理
    算法
    POI
    SSH项目(1)
    classpath路径和properties
    AngularJS路由实现单页面跳转
  • 原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/11636814.html
Copyright © 2011-2022 走看看