linux下按时间过滤文件如何设置

linux下按时间过滤文件如何设置,第1张

find /your_path -type f \( -newermt '2014-12-02 09:11' -a -not -newermt '2015-01-13 12:02' \)

find /your_path -type f -newermt '2015-02-15 13:51'

find /your_path -type f -not -newermt '2014-05-03 21:35'

统计个数:

find /your_path -type f \( -newermt '2014-12-02 09:11' -a -not -newermt '2015-01-13 12:02' \) | wc -l

find /your_path -type f -newermt '2015-02-15 13:51' | wc -l

find /your_path -type f -not -newermt '2014-05-03 21:35' | wc -l

截取一段时间内的log日志可以使用sed命令对log文件进行抽取 *** 作:

1,sed查看某时间段到现在的系统日志:

sed -n '/May 20 17/,$p' /var/log/messages | less

2,sed 截选时间段日志:

假如日志的格式是--

“2015-05-04 09:25:55,606 后面跟日志内容 ”这样的

目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来:

使用sed命令如下:

sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile

这样可以精确地截取出来某个时间段的日志。

如果需要截取的日志太大,达到几个G的话,不能去vi打开文件:

根据之前的日志格式,使用正则表达式:

sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile

如果没有问题的话,上面就能筛选出指定的时间段的日志。

假如在一个目录中保留最近30天的文件,30天前的文件自动删除;

#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} /tmp _设置查找的目录;

1、mtime +30 _设置时间为30天前;

2、type f _设置查找的类型为文件;

3、name *.sh[ab] _设置文件名称中包含sha或者shb;

4、exec rm -f _查找完毕后执行删除 *** 作;

提示:将此命令写入crontab后即可自动完成查找并删除的工作。

另外的方法大同小异:#find /tmp -mtime +30 -type f | xargs rm -rf。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9006946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存