Compare log files and get latest


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare log files and get latest
# 8  
Old 07-23-2009
find use prevstamp, if you not have it, you must create the first. You can set timestamp as you like, 200101... is only example. Example you don't like to look old logs, starting from just now:
touch prevstamp
is good solution.
# 9  
Old 07-23-2009
Try this:
Code:
ls -1tr | sed -n '1,/^lastlog.txt$/! p' > newlog.txt
mv newlog.txt lastlog.txt

You have the list of latest files lastlog.txt
Do your usual email procedure.
# 10  
Old 07-23-2009
This makes sense edidataguy but if the log gets created then we can do ls -ltr /abc/def/abcd_yymmdd.log .
Compare and move it to new log and then move old lo to new log .
Incase the log does not gets created then the script which will be running through cron each 10 minutes will give an error each time it does not find a log .
Scenario is the log files will be created randomly 3-4 at a time when application triggers and it may not get generated at all for 2-3 days .
# 11  
Old 07-23-2009
@yogi90 : you didn't provide the time format.

I am assuming it is HH_MM
Code:
$ls -1
abc2008_07_22_13_25.log
abc2009_07_22_12_23.log
abc2009_07_22_13_25.log
abc2009_07_21_11_25.log

$sort -t'_' -k1.4,1.7 -k2.1,2.2 -k3.1,3.2 -k4.1,4.2 -k5.1,5.2 | tail -1
$abc2008_07_22_13_25.log

I wish I understood the requirement correctly.
# 12  
Old 07-23-2009
Quote:
Originally Posted by yogi90
This makes sense edidataguy but if the log gets created then we can do ls -ltr /abc/def/abcd_yymmdd.log .
Compare and move it to new log and then move old lo to new log .
Incase the log does not gets created then the script which will be running through cron each 10 minutes will give an error each time it does not find a log .
Scenario is the log files will be created randomly 3-4 at a time when application triggers and it may not get generated at all for 2-3 days .
The log file will always be created, provided the log file already exists.
If you list and no files exist, then a 0 byte file will be created.
Try this:
Code:
echo "bla bla bla" > oldlog.log
ls -l oldlog.log

output
Code:
-rw-r--r--  1 admin None        12 Jul 23 13:25 oldlog.log

Now try this:
Code:
 ls -1 idontexist* > oldlog.log
ls -l oldlog.log

output
Code:
-rw-r--r--  1 admin None        0 Jul 23 13:25    oldlog.log

If you want in your code check for [[ -s oldlog.log ]]
# 13  
Old 07-23-2009
#!/usr/bin/ksh

###############################################################################
# #
#-----------------------------------------------------------------------------#
# Shell Script Name : getlogs #
# #
# Location (directory) : /usr/local/bin #
#-----------------------------------------------------------------------------#
# #
# #
###############################################################################

#typeset -u export SID=$1
#typeset -l export sid=$1

Hostname=$(hostname)

usermail="abcd @pqrst.com"

ls -1tr /dir1/dir2/abcd*.log | sed -n '1,/^lastlog.txt$/! p' > newlog.txt

mv newlog.txt lastlog.txt

sleep 30

/usr/bin/mailx -s "${HOSTNAME}: Subject" $usermail < $/dir1/dir2/newlog.txt

edidataguy if I use this it will always send a zero byte file to user which I do not want , I need to send the log file only when it gets created sometimes otherwise do not send anything
# 14  
Old 07-23-2009
find logs modified ten minutes ago. just modify your script accordingly. if there is nothing found then there are no log files generated within 10 minutes timeframe then don't send email.
Code:
find . -name "*.log" -mmin +10


Last edited by ryandegreat25; 07-24-2009 at 12:06 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read latest log files and perform database insert

Hi Experts, I have a situation where I need to write a shell script to continuously monitor a log directory with multiple log files and perform following: 1. Read the latest log file continuously and grep "Success" OR "Failure" 2. As it capture either Success or Failure, it has to perform a... (1 Reply)
Discussion started by: rish_max
1 Replies

2. Shell Programming and Scripting

Compare different String in Log Files

Hi Guys , sorry for my first post but a newbie here need some help on my simple scripts. I have some scripts below that count the job started and the job finished and is the job started and job finished equal ..then all job was successfully run and finished on that day. but sometime the was... (3 Replies)
Discussion started by: thermometer
3 Replies

3. Shell Programming and Scripting

Perl's buffered I/O is causing me to miss latest log file entries in log colorizer. How to fix?

I've been finding myself using a log file colorizer written in perl to reformat and colorize the output from many different programs. Mainly, however, I use it to make the output from "tail -f" commands more readable. The base perl script I use is based on "colorlogs.pl" available from the... (1 Reply)
Discussion started by: rcsteiner
1 Replies

4. UNIX for Advanced & Expert Users

Getting Latest files

Hai I wolud like to know how to get the latest files. ex: file_ssss_00 file_ssss_01 i need to get file_ssss_01 files only. (in Unix script) Please give some idea ... (2 Replies)
Discussion started by: raju4u
2 Replies

5. Shell Programming and Scripting

Require compare command to compare 4 files

I have four files, I need to compare these files together. As such i know "sdiff and comm" commands but these commands compare 2 files together. If I use sdiff command then i have to compare each file with other which will increase the codes. Please suggest if you know some commands whcih can... (6 Replies)
Discussion started by: nehashine
6 Replies

6. Shell Programming and Scripting

Compare 2 log files

Hello, I am new here, so first of all I want say hello to everyone. I am newbie on script but you may be able to help me on this : I am on solaris (ksh) I need to compare 2 files (one_trash.log / two_arch.log) On the first file I've got like 1000 entries files name Ex of one_trash.log... (15 Replies)
Discussion started by: Aswex
15 Replies

7. UNIX for Dummies Questions & Answers

To list only the very latest files

Hi, There are huge no of files in the directory. If i say ls -ltr it is taking too much time. i want to see only the files for Feb,2009. Please help. Thanks (3 Replies)
Discussion started by: venkatesht
3 Replies

8. Shell Programming and Scripting

to compare latest logfile with the current running time of the script

how can i compare the latest log file with the current time.. consider i am running a script "a.sh" at 09:00 ( function of the script a.sh is to update the database ) this script is going to create logfile if the script is sucess in case of failure it is not going to create logfile.. ... (0 Replies)
Discussion started by: mail2sant
0 Replies

9. Shell Programming and Scripting

Retain 3 latest files

Guys, Please can you tell me how to retain 3 latest files in a directory and get rid of the rest ? Thanks very much Regards, Ganesh (6 Replies)
Discussion started by: kamathg
6 Replies

10. Shell Programming and Scripting

Compare dates in a field and print the latest date row

Hi, I need a shell script which should find the latest date in the field of file and print that line only. For eg., I have a file /date.log Name Date Status IBM 06/06/07 close DELL 07/27/07 open DELL 06/07/07 open : : : From... (1 Reply)
Discussion started by: cvkishore
1 Replies
Login or Register to Ask a Question