• Linux定时清理日志


    shell脚本编写

    1.先创建出一个一个文件夹用于保存.sh文件

    
    mkdir crontab-file
    
    • 1
    • 2

    2.创建.sh文件
    vim filename,如果文件存在则打开,如果文件不存在则新建。

    vim clear_xxljob_logs.sh
    
    • 1

    3.编写删除日志脚本

    #! /bin/bash
    #find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ;
    #find:linux的查找命令,用户查找指定条件的文件;
    #/home/admin/logs/xxljob/jobHandler:想要进行清理的任意目录;
    #-mtime:标准语句写法;
    #+2:查找3天前的文件,这里用数字代表天数;
    #"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用
    # 例如find /home/tomcat/apache-tomcat-8.0.52/logs -mtime +2 -name "*.log.*"  -exec rm -rf {} \;表示删除这个目录下两天前所有文件名包含.log.的文件
    #-exec:固定写法;表示执行命令
    #rm -rf:强制删除文件,包括目录;
    # {} \; :固定写法,{}中表示find /home/admin/logs/xxljob/jobHandlder查找到的所有文件一对大括号+空格+\+
    
    find /home/admin/logs/xxljob/jobHandler -mtime +2 -exec rm -rf {} \;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4.在脚本所在的目录给脚本增加可执行权限

    chmod +x clear_xxljob_logs.sh
    
    • 1

    设置定时器,定期执行脚本

    创建好要执行的脚本之后,需要启动linux的crontab来定时执行这个脚本。
    1.编辑当前用户的定时任务

    crontab -e
    
    • 1

    将shell文件添加到系统定时任务中38 17 * * * /home/admin/crontab-file/clear_xxljob_logs.sh
    如图:
    在这里插入图片描述
    2.corn表达式问题,采用5位corn表达式

    # 文件格式說明
    #  ——分鐘(0 - 59)
    # |  ——小時(0 - 23)
    # | |  ——日(1 - 31)
    # | | |  ——月(1 - 12)
    # | | | |  ——星期(0 - 7,星期日=0或7)
    # | | | | |
    # * * * * * 被執行的命令
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    corntab -l  参看当前用户的定时任务,出现以下目录说明定时任务已经添加成功
    38 17 * * * /home/admin/crontab-file/clear_xxljob_logs.sh
    corntab -r 删除当前用户的定时任务
    
    • 1
    • 2
    • 3
  • 相关阅读:
    org.activiti.bpmn
    全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中)
    仿QQ音乐(HTML+CSS)
    React 可拖拽列宽 + 点击行选中 ProTable 封装笔记
    LabVIEW项目规划和设计
    亚马逊测评关于IP和DNS的问题
    【测试沉思录】12. 可用性保障平台的自动化测试探索与实践
    Unity中Shader的ShaderLOD
    CentOS7 安装MySQL 图文详细教程
    如何在服务器中创建python虚拟环境
  • 原文地址:https://blog.csdn.net/wangwei021933/article/details/126753661