linux删除之前的文件日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux删除之前的文件日志相关的知识,希望对你有一定的参考价值。

linux下每天都在产生LOG日志文件,如果不定期删除,迟早挤爆硬盘,如果手动删除,几次可以,不是长久之计。这些事交给Linux系统就可以解决。

试验环境:

系统:CentOS 6.5 x64

测试路径、测试文件名、测试时间(2017-06-05)

技术分享


执行命令:

# find /root/Text -mtime +3 -name "log.*" -exec rm -f {} \;

命令解释:

find     查找命令

/root/Text  查找路径

-mtime     文件最后修改时间

+3      3天前(或理解成从命令执行当前日期开始,当天不算,保留3个文件)

-name    查询方式为查询文件名

"log.*"    查找log开头后面为任意长度字符的文件(不明白可以找“正则表达式”教程看看)

-exec     固定写法

rm -f    符合条件的执行删除并不提示

{}      固定写法,注意左右有空格

\;      固定写法,注意左右有空格


-mtime说明一下,Linux中的文件的时间属性只有三个:

atime(Access time)    文件最后访问时间。

mtime(Modified time)    文件最后修改时间。

ctime(Change time)    文件最后修改权限时间。(比如执行过chmod)


用stat命令来看看文件详细信息,find会找到文件的Modified时间作为参数。

# stat log.2017-06-01

技术分享

有人注意到,文件名是06-01,但是显示时间是06-05,怎么回事。因为可以用"touch -d"命令来修改Modified,现在将文件修改回原来日期06-01。

# touch -d "21:55 06/01/2017" log.2017-06-01
或
# touch -d 06/01/2017 log.2017-06-01

上面命令第一个是时间和日期都修改,下面那个是只修改日期。

技术分享

另外也可以单独修改时间或者月份,如下

以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。 

touch -d "6:03pm" file 
touch -d "05/06/2000" file 
touch -d "6:03pm 05/06/2000" file


touch -d "2017-05-31 08:10:30" test.doc    同时修改文件的修改时间和访问时间
touch -m -d "2017-05-31 08:10:30" test.doc   只修改文件的修改时间
touch -a -d "2017-05-31 08:10:30" test.doc   只修改文件的访问时间


上面find命令,写好了我们加入系统自动执行。命令:

# crontab -e

打开后和操作vi编辑软件一样(因为crontab默认就是用vi来编辑的)

技术分享

# crontab -l

列出内容,定义凌晨2点执行。

技术分享



参考文章:

http://blog.csdn.net/maqingli20/article/details/7195408

https://zhidao.baidu.com/question/342860050.html

http://www.linuxidc.com/Linux/2015-11/124813.htm

http://www.2cto.com/os/201203/122934.html




本文出自 “悟透的杂货铺” 博客,请务必保留此出处http://wutou.blog.51cto.com/615096/1932446

以上是关于linux删除之前的文件日志的主要内容,如果未能解决你的问题,请参考以下文章

linux如何查询指定日期的系统安全日志

Linux根据时间批量删除文件

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

怎么删除.log的日志文件?

Linux文件删除恢复