Alex Rivera | Logout

Determining age of a file in shell script

Asked 2009-06-09T11:08:18.020
13

G'day,

I need to see if a specific file is more than 58 minutes old from a sh shell script. I'm talking straight vanilla Solaris shell with some POSIX extensions it seems.

I've thought of doing a

touch -t YYYYMMDDHHmm.SS /var/tmp/toto

where the timestamp is 58 minutes ago and then doing a

find ./logs_dir \! -newer /var/tmp/toto -print

We need to postprocess some log files that have been retrieved from various servers using mirror. Waiting for the files to be stable is the way this team decides if the mirror is finished and hence that day's logs are now complete and ready for processing.

Any suggestions gratefully received.

cheers,

Edit
Report

1 Answer

1

Since you're looking to test the time of a specific file you can start by using test and comparing it to your specially created file:

test /path/to/file -nt /var/tmp/toto

or:

touch -t YYYYMMDDHHmm.SS /var/tmp/toto
if [/path/to/file -nt /var/tmp/toto]
   ...
answered 2009-06-09T11:30:27.680

Your Answer