linux删除之前的文件日志

本文介绍如何通过Linux命令定期自动删除指定目录下的老旧日志文件,以避免硬盘空间被不断累积的日志文件占用。文中提供了具体的find命令示例,并演示了如何通过crontab设置定时任务。

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

试验环境:

系统:CentOS 6.5 x64

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

wKioL1k1FIyh56LhAAAfbB6qlD8846.png


执行命令:

1
# 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时间作为参数。

1
# stat log.2017-06-01

wKioL1k1GASDQn8lAAAfyhFCzgY386.png-wh_50

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

1
2
3
# touch -d "21:55 06/01/2017" log.2017-06-01
# touch -d 06/01/2017 log.2017-06-01

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

wKioL1k1GrHRf-1LAAAe4OH-6jQ805.png

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

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

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


1
2
3
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命令,写好了我们加入系统自动执行。命令:

1
# crontab -e

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

wKiom1k1Ho_BR7PVAAAHjNhJ-eI754.png

1
# crontab -l

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

wKioL1k1Hs7xBxC5AAAHR96QtiA138.png



参考文章:

http://blog.youkuaiyun.com/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



本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1932446

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值