Check file creation Time minutes and if file older then 5 minutes execute some stuff


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check file creation Time minutes and if file older then 5 minutes execute some stuff
# 1  
Old 02-21-2019
Check file creation Time minutes and if file older then 5 minutes execute some stuff

Hello all,
Info:
Code:
System RedHat 7.5

I need to create a script that based on the creation time,
if the file is older then 5 minutes then execute some stuff, if not exit.

I thought to get the creation time and minutes like this.

Code:
CreationTime=$(stat -c %y /tmp/test.log | awk -F" " '{ print $1,$2 }')
Here i need to make the difference between Creation time and actual time
if [ $CreationTime -gt 5 ]
        then
                echo "Bad News" | /usr/sbin/sendmail  -v email@mydomain.com
else
   echo "Exit, everything is ok"
fi

Thanks in advanced for the support.
# 2  
Old 02-21-2019
Code:
export filename=/path/to/file/filename
tdiff=$(( `date +%s` - `stat -c %Y $filename` ))   # time in seconds of "now" minus the file mod time in seconds
if  [ $tdiff -ge 300 ] ';   then  
  # 300 seconds = five minutes, change to 360 or another number to suit your idea of 'five minutes old' in seconds
  echo "oops $filename is older than five minutes"

fi

# 3  
Old 02-21-2019
Normally stat stores last accessed time, last modified time and last changed time , but not the creation time. stat -c %Y returns last modified. Maybe it was done because of the meaning and actual use for this value. If creating a copy, should it include creation time? If restoring a file from backup, what should be the value used for the restored file? If creation time is going to be critical to whatever use then a storing system like indexing system, or version control system, etc. needs to be implemented. Not sure if your operating system would want to take such a performance hit just for getting creation time value.
# 4  
Old 02-21-2019
Hello Jim,
thank a lot for the fast response,
here is the final script,

Code:
#!/bin/sh

check=$(awk -F "]" -v d="$(LC_ALL=C date --date=-5minutes "+%Y%m%d%H:%M:%S.%6N")" -v abmon="$(LC_ALL=C locale abmon)" '
BEGIN   { for (n=split(abmon, M, ";"); n;n--) nM[M[n]]=sprintf("%02d", n) }
        { split($1, ts, " "); D = ts[5] nM[ts[2]] sprintf("%02d", ts[3]) ts[4] }
(d < D) { print }
' /tmp/test.log | wc -l )

filename=/tmp/test.log 
tdiff=$(( `date +%s` - `stat -c %Y $filename` ))
if  [ $tdiff -ge 300 ] ;   then
  echo "oops $filename is older than five minutes"

if [ -z  $check ]
        then
echo "Exit, everything is ok"
        exit
fi
if [ $check -gt 15 ] ;
        then
                echo "Subject: Bad News, Action Needed"| /usr/sbin/sendmail  -v email@mydomain.com
else
   echo "Exit, everything is ok"
   exit
fi
fi

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Find if create time of last created file in a directory is older than 5 minutes

A process xyz is running and creating file1, file2, file3, .... filen. how do i know if the process has stopped and createtime of the last file (filen) is older than 5 minutes? OS is AIX (3 Replies)
Discussion started by: malaika
3 Replies

2. Shell Programming and Scripting

Grep a log file for the last 5 minutes of contents every 5 minutes

Hi all, System Ubuntu 16.04.3 LTS i have the following log INFO 2019-02-07 15:13:31,099 module.py:700] default: "POST /join/8550614e-3e94-4fa5-9ab2-135eefa69c1b HTTP/1.0" 500 2042 INFO 2019-02-07 15:13:31,569 module.py:700] default: "POST /join/6cb9c452-dcb1-45f3-bcca-e33f5d450105... (15 Replies)
Discussion started by: charli1
15 Replies

3. UNIX for Beginners Questions & Answers

How to convert days hours minutes seconds to minutes?

Hi, please help with below time conversion to minutes. one column values: 2 minutes 16 seconds 420 msec 43 seconds 750 msec 0 days 3 hours 29 minutes 58 seconds 480 msec 11 seconds 150 msec I need output in minutes(total elapsed time in minutes) (2 Replies)
Discussion started by: ramu.badugula
2 Replies

4. Shell Programming and Scripting

How to send a file in UNIX through email which is created only 15 minutes before the current time?

I wanted to send an email to the client whenever there is failed record created in a /feed/HR-76/failed folder after processing of feed file. I can find out with the help of below script that what is the new file created but that file didn't make just 15 minutes before. ... (1 Reply)
Discussion started by: puneetkhullar
1 Replies

5. Shell Programming and Scripting

Check how many minutes ago the last file created

Hi , I need help in getting how many minutes ago the last file, matching some pattern in file name, was created in a folder. Thanks in advance. (8 Replies)
Discussion started by: Anupam_Halder
8 Replies

6. UNIX for Advanced & Expert Users

files older than 10 minutes

Hi, I have to find the files older than 10 minutes and remove those files as well as redirect the file names into a log file. i am using sun OS and my unix is not GNU and also not having perl. Could any one suggest me the way to approach. It would be great if script is provided. Also... (8 Replies)
Discussion started by: rohan10k
8 Replies

7. Shell Programming and Scripting

save weather radar to local time-named file every 15 minutes

I think I can do this myself now, but I am always amazed by how people can do things cleaner and simpler than I end up doing... Using cron, I want to save the image found at: http://radar.weather.gov/ridge/Conus/RadarImg/centgrtlakes.gif every 15 minutes to a local file , such as ... (1 Reply)
Discussion started by: brucewestfall
1 Replies

8. Shell Programming and Scripting

only find files older than x minutes old

I am looking for a way to show files that have been created within a certain period (say anything older than 10 minutes or so). Is there a command/series of commands I can do this with? As an example, I have the following in a directory: -rw-r--r-- 1 owner group 70175 May 16 09:10... (1 Reply)
Discussion started by: dsimpg1
1 Replies

9. Shell Programming and Scripting

How can I create a file with current time - 60 minutes

I'm using k-shell in unix and I want to create a file with the current system time - 60 minutes. I know I can use touch to create the file, but I'm having trouble specifying how tell it to use the current time less 60 minutes. Any ideas??? (4 Replies)
Discussion started by: DaveyTN
4 Replies

10. Shell Programming and Scripting

files older than 15 minutes

Hi Friends, i have to write a script to raise a flag if there are any files that are older than 15 minutes in the directory.The directory is supplied as the parameter to the script. please help with a sample script. Thanks in advance veera (0 Replies)
Discussion started by: sveera
0 Replies
Login or Register to Ask a Question