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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下按时间过滤文件如何设置相关的知识,希望对你有一定的参考价值。

有个linux下命令带过滤选项的问题请教下,比如一个目录下有很多文件,成千上万,是程序生成的,时间间隔也不一样,有的间隔1分钟,有的几分钟,有的甚至半小时以上。现在要用wc -l或者ls -lr等命令对某个时间段统计或显示出来。请问如何过滤,比如:1.过滤得到的文件时间段(最后写入时间)为2014年12月2日9:12-2015年1月13日12:02之间的;2.过滤得到的文件时间段为2015年2月15日13:51之后的;3.过滤得到的文件时间段为2014年5月3日21:35之前的。
知道的大虾帮下,谢谢了!

参考技术A 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本回答被提问者和网友采纳
参考技术B find dir -mtime +10 -a -mtime -20
找出最后写入时间为10天-20天前的文件

你这样算算就好了
-mtime是天
-mmin是分钟追问

能回复下我问的那种指定时间的吗?这种还要计算

参考技术C 没问题啊 , 能否看一下wo的网名呢?帮助解决一下这个问题

linux系统如何设置时间同步?

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。
命令格式:ntpdate 时间服务器
用法示例:$ ntpdate pool.ntp.org

设置时间同步脚本,虽然以上已经同步了时间,但是由于计时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。
打开crontab进行编辑:$ crontab -e
在crontab任务文件添加:0 0 * * * root ntpate -s pool.ntp.org
-s参数指定将日志输出到syslog,而不是标准输出。
参考技术A linux自带了ntp服务
--
/etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntp.conf。
为了测试,设置让node2
--
192.168.1.102和node1
--
192.168.1.101做时间同步。
第一步,
node1做time
server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1
~]date
-s
08/03/2011
[root@node1
~]date
-s 11:12:00
[root@node1
~]clock
-w
[root@node1
~]hwclock
--systohc
后两个命令是把设置的时间写到硬件时间中去(也就是cmos里面的时间)。
第二步,
然后将node1配置成一个time
server,修改/etc/ntp.conf,
[root@node1
~]vi
/etc/ntp.conf
其他的配置不怎么需要改,只需要关注restrict的配置:
1.
注释掉原来的restrict
default
ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp
server的功能,所以需要注释掉。
2.
加入:restrict
192.168.1.0
mask
255.255.255.0
--
让192.168.1.0/24网段上的机器能和本机做时间同步
3.
这样就可以了,记得下面的:
server
127.127.1.0
#
local
clock
fudge
127.127.1.0
stratum
10
这两行需要,这是让本机的ntpd和本地硬件时间同步。
当然,我们也可以添加server
xxx.xxx.xxx.xxx,让他和其他的time
server时间同步。
4.
/etc/init.d/ntpd
restart
5.
chkconfig
ntpd
on
6.
修改iptables配置,将tcp和udp
123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。
第三步,
这样node1就成为一台time
server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf

[root@node2
~]vi
/etc/ntp.conf
1.
restrict
default
ignore这行保留为注释状态,因为sales不需要做time
server
2.
注释掉server
127.127.1.0,
fudge
127.127.1.0
stratum
10这两行,因为这台机器不需要和本地硬件时钟同步了。
3.
加入server
192.168.1.101这行,和node1机器同步。
这样就ok了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time
server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间
第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2
~]#vi
ntpupdate.sh
/usr/sbin/ntpdate
192.168.1.101
[root@node2
~]#chmod
755
ntpupdate.sh
[root@node2
~]#crontab
-e
*/1
*
*
*
*
/root/ntpupdate.sh
[root@node2
~]#/etc/init.d/crond
restart
参考技术B 1.因为要用到时间服务器(pool.ntp.org)因此要首先设置好dns服务器,用的是网通的dnsecho “nameserver 202.106.0.20” >> /etc/ resolv.conf2.手动同步/usr/sbin/ntpdate pool.ntp.org 3.设置命令如下,每隔一小时同步一次时间:crontab –e #添加0 */1 * * * /usr/sbin/ntpdate pool.ntp.org 2>&1 >> /tmp/ntp.log; /sbin/hwclock -w第一句命令是同步时间第二句是把时间写到系统硬件时钟里,免得系统重启后时间不对本回答被提问者采纳 参考技术C 可以考虑搭建
ntp服务器
把ntp服务搭在
服务器端
然后客户端只要同步服务器端的时间就可以了

以上是关于linux下按时间过滤文件如何设置的主要内容,如果未能解决你的问题,请参考以下文章

解决linux下按退格键出现 ^? 的问题

linux 如何查找当前目录下最大的文件夹

ubuntu linux vi编辑模式下按方向键会变成ABCD,

Linux怎么进入救援模式

如何过滤出已知当前目录下oldboy中的所有一级目录

linux中如何用gcc编译用vi写的c文件