zoukankan      html  css  js  c++  java
  • Linux定时删除n天前日志

    1、实例命令:
    
    
    # find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} ;
    find /data/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} ;
    说明:
    将/data/tomcat/logs/ 目录下所有30天前带”.log”的文件删除。

    2、计划任务(升级):
    若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。
    2.1 创建shell:
    新建一个可执行文件 auto-del-30-days-ago-log.sh 并分配可运行权限
    touch /opt/auto-del-30-days-ago-log.sh
    chmod +x auto-del-30-days-ago-log.sh

    2.2 编辑shell脚本(auto-del-30-days-ago-log.sh):

    1、打开编辑器
    vi auto-del-30-days-ago-log.sh

    2、输入以下内容   -mtime 表示天  -mmin表示分钟

    #!/bin/sh
    find /data/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} ;

    3、保存退出(:wq!)。

    2.3 计划任务:
    1、将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务
    #crontab -e

    2、设置是每天凌晨0点10分执行auto-del-30-days-ago-log.sh文件进行数据清理:

    10 0 * * * /opt/auto-del-30-days-ago-log.sh >/dev/null 2>&1

    2.4 启动任务:重启crond:

    service crond restart 
    #centos7 请执行 systemctl restart crond
    2.5 瞄一眼是否已经开始任务:
    crontab -l
    PS: 如果需要查看定时任务执行日志:
    cat /var/log/cron
    完成以上三步,妈妈再也不用担心我的硬盘空间满了,不用手动清理日志文件了
     
  • 相关阅读:
    SQL 中文排序方式
    ASP.NET公有六种验证控件
    CustomValidator的使用方法
    c# 获取网页源码
    asp.net mvc 从客户端中检测到有潜在危险的 Request.Form 值的解决方法
    C#上传文件转字节流形式
    byte数组转换成文件保存到本地
    检测到有潜在危险的Request.Form值
    字节数组生成图片
    Edit Distance (编辑距离) .NET 实现
  • 原文地址:https://www.cnblogs.com/guliang/p/11633720.html
Copyright © 2011-2022 走看看