I have some files on a server with the date several months ago, but they are invisible to find -mtime 7
search.
When I list them with ls -l
, they look perfectly normal:
-rw-r--r-- 1 root root 347253 Jun 12 16:26 pedia_main.2010-06-12-04-25-02.sql.gz
-rw-r--r-- 1 root root 490144578 Nov 24 16:26 gsmforum_main.2010-11-24-04-25-02.sql.gz
The top file is invisible to "find . -mtime 1", but the bottom one is visible.
I almost banged my head against the wall trying to understand why. I tried some random things and came across ls --full-time
command. And it shows that these two are somehow a little bit different
-rw-r--r-- 1 root root 347253 2010-06-12 16:26:20.000000000 +0400 pedia_main.2010-06-12-04-25-02.sql.gz
-rw-r--r-- 1 root root 490144578 2010-11-24 16:26:12.000000000 +0300 gsmforum_main.2010-11-24-04-25-02.sql.gz
The date seems to be ok. Bit one has +0400
as a timezone, and another one is +0300
. How come find
fails to find the ones with +0400
?
The OS is CentOS 5.5 Final with latest updates, and ls
version is (GNU coreutils) 5.97
.
Also, the thing is that I don't understand where this "timezone" of the file is stored. The inode does not have any extra attributes to store them it seems. The file system on the server is ext4.