Sponsored Content
Top Forums Shell Programming and Scripting Grep a log file for the last 5 minutes of contents every 5 minutes Post 303030357 by charli1 on Friday 8th of February 2019 10:20:31 AM
Old 02-08-2019
Code:
#!/bin/sh
check=$(awk -F, -v d="$(date --date="-5 minutes" +"%Y-%m-%d %H:%M:%S,%3N")" \
'$0 ~ "HTTP/1.0\" 500 2042$" {if ( d < substr($1, 10)) error++} END {print error}' /tmp/test.log)

if [ $check -gt 5 ]
then
   echo "Bad News, Need to send Alert"
else
   echo "Exit, everything is ok"
fi

So i have the following error now,


Code:
sh -x test.sh
+ date --date=-5 minutes +%Y-%m-%d %H:%M:%S,%3N
+ awk -F, -v d=2019-02-08 15:12:29,459 $0 ~ "HTTP/1.0\" 500 2042$" {if ( d < substr($1, 10)) error++} END {print error} /tmp/test.log
+ check=
+ [ -gt 5 ]
test.sh: 5: [: -gt: unexpected operator
+ echo Exit, everything is ok
Exit, everything is ok

Any ideas?
Thank you.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert minutes to hours, minutes, seconds

How would you convert lets say a 1000 minutes to hours, minutes, seconds (1 Reply)
Discussion started by: Vozx
1 Replies

2. Shell Programming and Scripting

Grepping the last 30 minutes of a log file...

I need to know if anyone can assist me on how to grab the last (we'll just say "x" minutes) of a log file. How do you tell the grep command without specifying an exact window of time? (So relative instead of absolute.) Thanks, Jon (2 Replies)
Discussion started by: jtelep
2 Replies

3. Shell Programming and Scripting

Script to grep for a string in log files generated in last 15 minutes.

Dear Guru's I've a requirment to grep for a string in series of log files that are getting generated almost every minute. I'm looking to schedule a script every 15 mountes,in order to check if the error string has been generated in any of the log files generated in last 15 minutes. Please... (3 Replies)
Discussion started by: rajivatnova
3 Replies

4. Shell Programming and Scripting

Log File Creations for every 60 minutes

Hi All, Below script will make a copy of the existing log file with the then timestamp details. I am looking to create a copy of the existing log file for every 60 minutes and when the file limit reaches to 5, the 6th copy should overwrite the first backedup file which means all the time it... (3 Replies)
Discussion started by: Upendra Bestha
3 Replies

5. Shell Programming and Scripting

Grep last 30 minutes log only

I have below command, which i use for checking last two hours log file, but i want to check 30 minutes log and discard old log, only match current time with last 30 minutes. Command i am using. This below attach log file format is for this week, but sometime it got change in time of log, so i need... (6 Replies)
Discussion started by: learnbash
6 Replies

6. Shell Programming and Scripting

Need help in getting the Last 30 minutes logs from the Log File

I have a log file with the below contents : log_file_updated.txt : Jul 5 03:33:06 rsyslogd: was Jul 5 03:33:09 adcsdb1 rhsmd: This system is registered. Sep 2 02:45:48 adcsdb1 UDSAgent: 2015-07-05 04:24:48.959 INFO Worker_Thread_4032813936 Accepted connection from host <unknown>... (3 Replies)
Discussion started by: rahul2662
3 Replies

7. Shell Programming and Scripting

Grep last 2 minutes log only

I have newbie, which i use for checking last one hours log file, but i want to check 2 minutes log and discard old log, only match current time with last 2 minutes. Ex log. 2018-07-03 20:09:17 2018-07-03 20:05:17 2018-07-03 20:05:18 2018-07-03 20:05:20 2018-07-03 20:06:22 2018-07-03... (5 Replies)
Discussion started by: ooilinlove
5 Replies

8. 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

9. Shell Programming and Scripting

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

Hello all, Info: 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. CreationTime=$(stat -c %y /tmp/test.log | awk -F" " '{ print... (3 Replies)
Discussion started by: charli1
3 Replies

10. UNIX for Beginners Questions & Answers

Copy last 30 minutes' contents from a log file

Hi Guys, I am writing a bash script to capture the last 30 minutes's contents from log file to a new file. This job is a scheduled job and will run every 30 minutes. The log file is db2diag.log in DB2. I am having difficulties copying the last 30 minutes's contents. Can someone please help me.... (4 Replies)
Discussion started by: naveed
4 Replies
DATE(1) 						      General Commands Manual							   DATE(1)

NAME
date - print and set the date SYNOPSIS
date [-nu] [-d dst] [-t timezone] [yymmddhhmm [.ss] ] DESCRIPTION
If no arguments are given, the current date and time are printed. Providing an argument will set the desired date; only the superuser can set the date. The -d and -t flags set the kernel's values for daylight savings time and minutes west of GMT. If dst is non-zero, future calls to gettimeofday(2) will return a non-zero tz_dsttime. Timezone provides the number of minutes returned by future calls to gettimeof- day(2) in tz_minuteswest. The -u flag is used to display or set the date in GMT (universal) time. yy represents the last two digits of the year; the first mm is the month number; dd is the day number; hh is the hour number (24 hour system); the second mm is the minute num- ber; .ss is optional and represents the seconds. For example: date 8506131627 sets the date to June 13 1985, 4:27 PM. The year, month and day may be omitted; the default values will be the current ones. The system operates in GMT. Date takes care of the conversion to and from local standard and daylight-saving time. If timed(8) is running to synchronize the clocks of machines in a local area network, date sets the time globally on all those machines unless the -n option is given. FILES
/usr/adm/wtmp to record time-setting. In /usr/adm/messages, date records the name of the user setting the time. SEE ALSO
gettimeofday(2), utmp(5), timed(8), TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella and S. Zatti DIAGNOSTICS
Exit status is 0 on success, 1 on complete failure to set the date, and 2 on successfully setting the local date but failing globally. Occasionally, when timed synchronizes the time on many hosts, the setting of a new time value may require more than a few seconds. On these occasions, date prints: `Network time being set'. The message `Communication error with timed' occurs when the communication between date and timed fails. BUGS
The system attempts to keep the date in a format closely compatible with VMS. VMS, however, uses local time (rather than GMT) and does not understand daylight-saving time. Thus, if you use both UNIX and VMS, VMS will be running on GMT. 4th Berkeley Distribution March 24, 1987 DATE(1)
All times are GMT -4. The time now is 12:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy