美文网首页Shell学习
shell脚本清理日志内容保留文件

shell脚本清理日志内容保留文件

作者: 巴鶴 | 来源:发表于2021-11-11 17:20 被阅读0次

    测试工作经常需要Jenkins构建,有时提示空间不足,我们需要定期去清理日志,部分日志文件是不能直接删除,如果服务器部署多个项目,每个项目都有很多日志,甚至个别文件很大,此时手动打开文件,人为去删除效率很慢.故需要借助shell脚本去定期清理日志内容. 详细操作步骤如下:

    步骤1: 创建文件

    touch /testlog/del-2-days-ago-log.sh
    

    步骤2: 赋予权限

    1.png

    步骤3:shell文件中添加脚本

    vim /testlog/del-2-days-ago-log.sh
    
    2.png

    步骤4:输入i 进入编辑模式

    步骤5: 输入命令

    3.png
    #/bin/bash 
    for i in `find /testlog -name "*.log"` 
    do  
      cat /dev/null > $i 
    done 
    
    

    命令延伸知识

    删除/opt目录下所有的日志文件

    find /opt -name *.log.* | xargs rm -rf
    

    查看/opt目录下,所有日志文件及大小

    find /opt -name *.log | xargs du -sh
    

    查找目录下的.log后缀的文件,并清空文件内容(这里不是删除文件)

    find /opt -name *.log -exec cp /dev/null {} \;
    

    步骤6: ESC 退出编辑模式

    步骤7: :wq!保存离开

    步骤8: 查看定时任务是否安装

    systemctl status crond
    
    5.查看定时任务是否安装 systemctl status crond.png

    查看crontab是否已安装

    rpm -qa | grep crontab
    
    查看crontab是否已安装.png

    步骤9: crontab -e

    6.crontab -e.png

    步骤10: 输入定时脚本

    定时5分钟执行一次

    */5 * * * * /testlog/del-2-days-ago-log.sh
    

    步骤11: :wq!保存定时任务 提示添加成功

    crontab: installing new crontab
    

    注意:用crontab -e 编辑的定时任务三分钟之内是不会执行的,所以在测试的时候,至少时间后推三分钟!

    步骤12: 查看定时任务日志是否执行

    tail -f /var/log/cron
    
    7.查看定时任务日志.png

    单个定时清理日志内容保留文件

    8.日志成功清掉.png

    批量清理日志内容保留文件

    9.批量清空日志.png

    步骤13: 查看已经创建的计划任务

    crontab -l
    
    crontab -l查看已经创建的计划任务.png

    步骤14: 删除定时任务

    1. 进入计划服务配置界面
    crontab -e
    
    1. 删除计划任务
    dd
    
    1. 保存并退出
    :wq!
    
    1. 再次查看
    crontab -l
    
    dd 删除计划任务.png

    相关文章

      网友评论

        本文标题:shell脚本清理日志内容保留文件

        本文链接:https://www.haomeiwen.com/subject/jvkvzltx.html