定时清理服务器日志

本文介绍了如何创建一个名为`viauto-del-30-days-ago-log.sh`的Shell脚本来删除指定目录中30天前的.log文件。通过`find`命令结合`mtime`参数和`exec`指令实现自动清理。例如,删除`/usr/local/tomcat/logs/`目录下30天前的日志。然后,通过`chmod +x`命令赋予脚本执行权限。最后,利用`crontab -e`开启定时任务服务,设置每天0点10分运行脚本,确保日志文件定期清理。

定时清理日志

  1. 编写删除shell脚本

    ## 新建脚本
    vi auto-del-30-days-ago-log.sh
    ## 脚本内容
    find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
    
    ## 实例命令:
    ## 将/opt/soft/log/目录下所有30天前带".log"的文件删除。
    find /usr/local/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;    
    
    
  2. 赋予脚本编辑权限

    chmod +x "文件名"
    
  3. 设置定时任务

    ## 打开定时服务
    crontab -e
    
    ## 编辑定时任务
    10 0 * * * /opt/soft/log/auto-del-30-days-ago-log.sh 
    # 这里的设置是每天凌晨0点10分执行auto-del-30-days-ago-log.sh文件进行数据清理任务了。
    
    

    定时任务格式

    • minute hour day day month week command

    具体参数解释

    • minute: 表示分钟,可以是从0到59之间的任何整数。

    • hour:表示小时,可以是从0到23之间的任何整数。

    • day:表示日期,可以是从1到31之间的任何整数。

    • month:表示月份,可以是从1到12之间的任何整数。

    • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

    • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值