Linux 自动删除N小时或分钟前的文件

在前一篇文章我们介绍了如何在Linux系统下自动删除N天前的日志文件,那么本文将会讲述如何在Linux系统下自动删除N小时之前的特定文件或者日志文件。

在日常工作中,经常会有定时清空相关程序目录下特定时间前生成的日志文件的需求。当然实现的具体方法和上篇文章类似,但唯一不同的是find命令查找文件的依据的条件或者参数不同,-mtime是要查找n*24之前或者之内的相关文件,该参数无法实现小于24小时的特定时间的文件查找,当然find命令提供了另一个类似的参数-mmin, 该参数可以让find命令按指定的分钟来查找文件。

Linux下自动删除2小时之前的日志文件

将上篇文章的find 命令更新如下:

find /var/log/ -mmin +120 -name message* -exec rm -rf {} \;

执行完上面的命令后,在/var/log/目录下所有的120分钟或者说2小时以前生成的或者更改过的以message开头的日志文件都会被删掉。

如果要删除两小时之内的日志文件,使用下面的命令:

find /var/log/ -mmin -120 -name message* -exec rm -rf {} \;

将上面的find命令加到Linux系统的任务计划crontab里,即可实现自动定时删除文件。


99%的人还阅读了:

Leave a Reply