2016-01-19 79 views
0

我正在构建一个备份脚本,并且正在使用find -mtime。 昨天我用了很多find -mtime +1来搜索一天前修改过的文件。 在一天结束时,我整天使用的命令停止工作。我打破了Ubuntu的FIND命令,mtime不能正常工作

[email protected]:~$ mkdir test 
[email protected]:~$ cd test/ 
[email protected]:~/test$ touch -t 201601180830 yesterdayMorning 
[email protected]:~/test$ touch -t 201601181725 yesterdayAfternoon 
[email protected]:~/test$ ll 
total 32 
drwxrwxr-x 2 user user 4096 Jan 19 09:37 ./ 
drwx------ 9 user user 12288 Jan 19 09:36 ../ 
-rw-rw-r-- 1 user user  0 Jan 18 17:25 yesterdayAfternoon 
-rw-rw-r-- 1 user user  0 Jan 18 08:30 yesterdayMorning 

FIND -mtime n的结果

[email protected]:~/test$ find -mtime +1 
[email protected]:~/test$ find -mtime -1 
. 
./yesterdayAfternoon 
[email protected]:~/test$ find -mtime 0 
. 
./yesterdayAfternoon 
[email protected]:~/test$ 

我应该能够找到一个名为yesterdayMorning该文件,因为当时我正在写(上午09点48分的1月19日),该文件大于1天。

find -mtime -1(或0 too)显示正确的结果,因为该文件的最后修改时间少于24小时。

昨天下午5点前,我发誓它工作!

+0

你有没有尝试过的'-daystart'选项? –

+0

不,只在昨天全天使用-mtime。可能太多了..我最终忘记了用于哪种情况的确切mtime。 – Nihvel

回答

1

它实际上不是24小时前,但超过n天前。即对于-mtime +1,它必须在两天前进行修改。

使用find -mtime +0来匹配昨天的文件。

+0

我也试过这个,但没有任何结果复制在主要问题中,所以你也可以看到 编辑:我的坏我创建了错误的小时文件。是mtime +1显示2天以前的文件。什么??我以某种方式管理昨天显示文件超过24小时与-mtime +1 – Nihvel

+0

-mtime +0(数学不正确)显示我什么我想要的!我很惊讶..谢谢队友! – Nihvel

1

正如接受的答案-mtime +0中所述,在这种情况下适用于你。 注:

find using -mtime and -daystart 
-mtime n 
    File's data was last modified n*24 hours ago. 
-daystart 
    Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and 
    -mtime) from the beginning of today rather than from 24 hours 
    ago. 
    This option only affects tests which appear later on the 
    command line. 

date 
Tue Jan 19 10:24:43 CET 2016 
~/test $ ls -n 
total 0 
-rw-r--r-- 1 1000 1000 0 Jan 18 10:15 yesterdayMorning10:15.txt 
-rw-r--r-- 1 1000 1000 0 Jan 18 10:45 yesterdayMorning10:45.txt 
~/test $ find -mtime +0 
./yesterdayMorning10:15.txt 

~/test $ find -mtime 0 
./yesterdayMorning10:45.txt 

~/test $ find -daystart -mtime +0 
./yesterdayMorning10:15.txt 
./yesterdayMorning10:45.txt 
+0

这是一个很好的解释!没有使用daystart,但似乎我会改进脚本。干得好(谢谢! – Nihvel