Rob Wells Rob Wells - 7 months ago 13
Bash Question

Determining age of a file in shell script

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,

Answer

You can use different units in the find command, for example:

find . -mtime +0h55m

Will return any files with modified dates older than 55 minutes ago.

Comments