Linux定时删除日志的简单实现方法

  

  

linux是一个很能自动产生文件的系统,日志,邮件,备份等,虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。

  

项目中会生成各种各样的日志,随着时间的推移,日志也是越来越多。超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志。本篇文章的需求是删除7天之前的日志,大致分为两步,一是删除日志的命令,二是设置定时任务。

  


  

  

首先是查找所有7天前的日志,使用发现查找的时候加上-mtime参数,其含义为查找在指定时间曾被更改过的文件或目录,单位以24小时计算。实例为<代码>找你/路径-mtime + 7 - name ' * . log '>   

癓inux定时删除日志的简单实现方法"

  

查找完成了,接下来是删除。在上面语句的基础上,加上- exec参数可以实现删除,参数含义为假设找到指令的回传值为True,就执行该指令,所以完整的语句为<代码>找你/路径-mtime + 7 - name”*。日志的rm - rf{} \;>   

癓inux定时删除日志的简单实现方法"

  

16天之前只有一条日志,执行后再次查找不存在,说明删除成功。

  

  

最后将命令添加定时任务。关于crontab命令以及执行时间的设定,可以查看下方的参考资料。
  添加之前先来看下14天之前的日志

  

癓inux定时删除日志的简单实现方法"

  

有一条日志。编辑定时任务,执行crontab - e将删除日志命令追加到末尾<代码> */1 * * * *找你/路径-mtime + 14 - name ' *。日志的rm - rf{} \;>   

癓inux定时删除日志的简单实现方法"

  

可以看到在添加定时任务之后,没有手动删除,日志已经被自动删除了。当然不需要每分钟来执行一次,将时间设定为每天1点的时间,最终定时任务以及删除日志命令如下
  

        0 1 * * *找你/路径-mtime + 7 - name”*。日志的rm - rf {} \;      

癓inux定时删除日志的简单实现方法"

  

参考资料:找命令,crontab命令,linux利用crontab添加定时任务。

  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

Linux定时删除日志的简单实现方法