linux下删除日志文件命令,linux删除之前的文件日志

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

试验环境:

系统:CentOS 6.5 x64

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

c18f5953703d7f5c03d46aefc74823a5.png

执行命令:# 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

a65effc0fc832ddcb0d2fee342420875.png

有人注意到,文件名是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

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

50c9432ac97b5ea14119ef132f80146d.png

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

以使用 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来编辑的)

96b599bd573e755fbaff5626c02f1240.png# crontab -l

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

4b5d40f2de66a504dfb8e9bd87a8746f.png

参考文章:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值