Calculate age of a file | calculate time difference
Hello,
I'm trying to create a shell script (#!/bin/sh) which should tell me the age of a file in minutes...
I have a process, which delivers me all 15 minutes a new file and I want to have a monitoring script, which sends me an email, if the present file is older than 20 minutes.
To do so, I have created two variables:
Now, I could calculate: echo $CURRTIME - $FILETIME | bc
But it doesnt calculate it as time... 1305-1255 gives me 50 and not 10 minutes.
How can I calculate with time?
Thanks for your help!
Best regards
Rolf
Last edited by Franklin52; 02-14-2011 at 05:06 AM..
Reason: Please use code tags, thank you
This uses the stat command, which I am not sure is available in your shell. It works by converting everything to epoch time, and in this case is checking for files within 3600 seconds (60 minutes). But, perhaps playing with these commands might get you started.
Will you be running your monitoring script from "cron"? If so, how frequently and during what hours and on what days of the week?
It is easy to write a script to run from cron which maintains a reference file with a timestamp 20 mins old but remember that if run once a minute such a cron would run 1440 times a day. If you really don't need to be that accurate, could you check every 10 mins or more?
AlphaLexman is correct. The "last modified" timestamp is the most useful and is the one used by "ls -la" and "find -mtime" etc..
The "-ctime" timestamp is the timestamp when the inode was last changed. Some backup software changes this timestamp to mark the file "backed up".
Earlier I was trying to avoid the epoch date arithmetic or writing a "C" or "perl" (or whatever) program.
There are many techniques to find files which are less than 20 minutes old even if you don't have the GNU version of "find" - which offers this sort of search as standard.
Let's find out what you are trying to do in more detail.
I have time in a file in HH:MM:SS format as it contents(its not the file creation time). i need this to be converted to epoch time or time since 1970. The time is written into that file by a script, which i cannot modify. Im using AIX machine
$ cat abc.txt
10:29:34 (2 Replies)
Hi All,
I am new to shell scripting.I have to write a shell script for the problem statement:
"A file is updated continously. If it is not updated for a day then an error message needs to pop up."
So the script needs to read the last modified time of that file and current system time .If... (4 Replies)
hi,
I have a log file which gives time stamps hh:mm:ss.sssss format in which
hh- hours , mm -minutes ss.sssss - seconds.microseconds
I need to calculate the time diff between sent time stamp and received time stamp ....
could any one please help me..
i am tryin to write a script but... (2 Replies)
Hello All,
I have a problem calculating the time difference between start and end timings...!
the timings are given by 24hr format..
Start Date : 08/05/10 12:55
End Date : 08/09/10 06:50
above values are in mm/dd/yy hh:mm format.
Now the thing is, 7th(08/07/10) and... (16 Replies)
I know there have been a million questions regarding calculating time stamps, and with enough googling, I think I'm almost there (I'm going to use the changing the times into seconds and subtracting solution). My problem is that I'm not sure how to format my log file to get the info I need. Below... (0 Replies)
I m stuck with a issue.
I need to calculate the time difference between two files.. one on the local machine and one on the remote machine using a script.
Can any one suggest the way this can be achevied
Thanks,
manohar (1 Reply)
Hi All,
I've written a script which reads all the systems backup information and saves it in a log file.
ssh -l ora${sid} ${primaryhost} "tail -1 /oracle/$ORACLE_SID/sapbackup/back$ORACLE_SID.log" | awk '{print $3,$4,$5,$6}' >> ${RESULTFILE}
The output comes as below:
2008-09-30 06.00.01... (2 Replies)
Hi All,
I've written a script which reads all the systems backup information and saves it in a log file.
ssh -l ora${sid} ${primaryhost} "tail -2 /oracle/$ORACLE_SID/sapbackup/back$ORACLE_SID.log" |head -1 | awk '{print echo "PREVIOUS:-- Start Date&Time: " $3,$4,echo "|| End Date&Time:... (1 Reply)
Hi,
Please help me in calculating the time difference between below mentioned timestamps.
a=07/17/2007 02:20:00 AM MST
b=07/17/2007 02:07:46 AM MST
Thanks (2 Replies)