Sponsored Content
Top Forums Shell Programming and Scripting Log search and mail it if the log is updated before 24 hours from the current time Post 302830961 by gacanepa on Wednesday 10th of July 2013 12:05:45 AM
Old 07-10-2013
Well, this is what I would do:
Quote:
1) We use only TAIL -100 <location and name of the log> Command to check the logs.
Create a plain text file (name it mylogs, for example) with the absolute path to each log, 1 per line, i.e.,
Code:
/var/log/mail.log
/var/log/some.log
.
.
.
/var/log/some_other.log

Then in my script I'd do this (hasn't been tested, but you can tweak it a little in order to suit your needs):
Code:
#!/bin/bash
mailcontents=mailbody
while read line
do
    last_mod_time=$(stat -c '%Y' $line) # this line checks the log's last modification time and converts it to Unix's epoch
    last_24_hours=$(date +%s -d "24 hours ago") # this line returns the epoch for the current timestamp minus 24 hours

    if [ $last_mod_time -lt $last_24_hours ]; then
        echo "Log $line has NOT been updated in the last 24 hours" >> $mailcontents
        echo "============" >> $mailcontents
    else
        echo "Log $line was updated during the last 24 hours" >> $mailcontents
        echo "============" >> $mailcontents
    fi
    
    tail -100 $line > checklog

    error=$(cat checklog | grep ERROR | wc -l)
    if [ $error -gt 0 ]; then
        echo "ERROR found in log $line" >> $mailcontents
    fi

done < mylogs

if [ -s $mailcontents ]; then
    mail -s "Log errors and last modification times" youremail@yourdomain.com < $mailcontents
fi

rm $mailcontents checklog

Hope it helps Smilie.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shell script not getting current error messages with time from alert.log

Hi All, I need to get current error messages with time from alert.log.Below is my shell script but it's not working to meet this objective. could anyone pls share on the above issue for resolution: #################################################################### ## ckalertlog.sh ##... (2 Replies)
Discussion started by: a1_win
2 Replies

2. Solaris

files updated in last 10 hours should be moved

Hi, I would like to move all files that are updated in last 10 hrs. to some temporary folder. Please help. (3 Replies)
Discussion started by: sanjay1979
3 Replies

3. UNIX for Dummies Questions & Answers

Execute crontab for every 4 hours and begin from current time

I want to add a crontab entry which should execute for every 4 hours and that 4 hours calculation should begin from the current time. Normally if I set the crontab entry like this, 00 */4 30 05 * root date >>/tmp/cronout The above will execute the date command for every 4 hours like... (7 Replies)
Discussion started by: Ganeshwari
7 Replies

4. Shell Programming and Scripting

How can view log messages between two time frame from /var/log/message or any type of log files

How can view log messages between two time frame from /var/log/message or any type of log files. when logfiles are very big and especially many messages with in few minutes, I would like to display log messages between 5 minute interval. Could you pls give me the command? (1 Reply)
Discussion started by: johnveslin
1 Replies

5. UNIX for Dummies Questions & Answers

Adding hours and minutes to current date (Only to date not to time)

Hi, I want to add some hours and minutes to the current date. For example, if the current date is "July 16, 2012 15:20", i want to add 5 hours 30 minutes to "July 16, 2012 00:00" not to "July 16, 2012 15:20". Please help. Thanks! (4 Replies)
Discussion started by: manojgarg
4 Replies

6. Homework & Coursework Questions

Sort current logged in users by log in time (supposedly to be very easy but I'm missing something)

1. The problem statement, all variables and given/known data: Show all users who are currently logged in, sorted from earliest to latest log in time. The log in time includes the month, day, and time. 2. Relevant commands, code, scripts, algorithms: finger, who, sort, pipe, head, tail, ... (8 Replies)
Discussion started by: vtmd
8 Replies

7. Shell Programming and Scripting

awk : Search for text between two time frame (12 hours)

I have created the script to grep the errors from weblogic logs files and redirecting output to file.txt ...From file.txt I'm using awk command to collect the past 20 mins output...The script running from cron every 15 mins... The script working well... Now the challenges, I'm trying to use... (27 Replies)
Discussion started by: zenkarthi
27 Replies

8. Shell Programming and Scripting

Search for logs traced between specific date and time from log file

HI, I want to search for a logs which are trace between specific date and time from logs file. My logs are generated like this :- Tue Jun 18 05:00:02 EEST 2013 | file_check.sh| Message:script has files to process. Thu Jun 20 05:00:02 EEST 2013 | file_check.sh| Message:script has files to... (5 Replies)
Discussion started by: ketanraut
5 Replies

9. Shell Programming and Scripting

Search the string in the active log and send mail

Hello, I wanted to search specific string in the acitve log file and send an email if the search string found in the log. Log file is written by application all the time. So, script has to search if any new log entry has the specific string for example " sample exception" and send an email. (1 Reply)
Discussion started by: balareddy
1 Replies

10. Shell Programming and Scripting

Log File updated time

hi can any one please help on below .im new to shell scrpting i need to write a shell script which will check particular log file is presented or not in specific location ,if yes how long it was not modified/not rolling ?if its not modified/log is not rolling script will have to send mail (9 Replies)
Discussion started by: 4Learning
9 Replies
Git::Repository::Plugin::Log(3pm)			User Contributed Perl Documentation			 Git::Repository::Plugin::Log(3pm)

NAME
Git::Repository::Plugin::Log - Add a log() method to Git::Repository SYNOPSIS
# load the plugin use Git::Repository 'Log'; my $r = Git::Repository->new(); # get all log objects my @logs = $r->log(qw( --since=yesterday )); # get an iterator my $iter = $r->log(qw( --since=yesterday )); while ( my $log = $iter->next() ) { ...; } DESCRIPTION
This module adds a new method to "Git::Repository". METHOD
log( @args ) Run "git log" with the given arguments. In scalar context, returns a "Git::Repository::Log::Iterator" object, which can return "Git::Repository::Log" objects on demand. In list context, returns the full list "Git::Repository::Log" objects. Note that this can be very memory-intensive. See Git::Repository::Log::Iterator's documentation for details about how parameters are handled. AUTHOR
Philippe Bruhat (BooK), "<book at cpan.org>" ACKNOWLEDGEMENTS
Many thanks to Aristotle Pagaltzis who requested a "log()" method in the first place, and for very interesting conversations on the topic. SEE ALSO
Git::Repository::Plugin, Git::Repository::Log::Iterator, Git::Repository::Log. COPYRIGHT
Copyright 2010 Philippe Bruhat (BooK). LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-12-28 Git::Repository::Plugin::Log(3pm)
All times are GMT -4. The time now is 06:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy