Collect last 2 days data from /var/log/messages


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Collect last 2 days data from /var/log/messages
# 1  
Old 04-14-2014
Collect last 2 days data from /var/log/messages

I need to collect last 2 days data from /var/log/messages into a separate file (file format: flmessagetimedaymonth). I have collect today's month, date, time information in separate variable. Please help me in this issue (Probably need awk and grep function).

Code:
month=$(date|awk '{print $2}')
day=$(date|awk '{print $3}')
time=$(date|awk '{print $4}')

#nday=$((day-1))

echo $month $day $time

i=2

#for i in 2 1 0



Sample of /var/log/messages
Code:
Apr 12 12:02:35 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr  12 12:02:35 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2"  x-pid="1261" x-info="http://www.rsyslog.com"] (re)start
Apr 14 19:14:55 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 14 19:14:55 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start


Last edited by vbe; 04-14-2014 at 12:24 PM.. Reason: using code tags means putting between the tags....
# 2  
Old 04-14-2014
Code:
find . ! -name -prune -type f -mtime -2

This will give all files of last 2 days
# 3  
Old 04-14-2014
I don't need last 2 days files.....actually i need last 2 days information from /var/log/messages

Sample Input of /var/log/messages

Apr 11 9:05:35 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 11 9:05:35 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start
Apr 13 12:02:35 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 13 12:02:35 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start
Apr 14 19:14:55 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 14 19:14:55 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start

Sample Output for given input

Apr 13 12:02:35 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 13 12:02:35 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start
Apr 14 19:14:55 RH6 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Apr 14 19:14:55 RH6 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1261" x-info="http://www.rsyslog.com"] (re)start
# 4  
Old 04-14-2014
Code:
egrep "^$(date -d '2 days ago' '+%h %d')|^$(date -d 'yesterday' '+%h %d')|^$(date '+%h %d')" /var/log/messages

---------- Post updated at 02:44 PM ---------- Previous update was at 02:35 PM ----------

This is an awk code for the same
Code:
awk -vp="^$(date -d '2 days ago' '+%h %d')" -vy="^$(date -d 'yesterday' '+%h %d')" -vt="^$(date '+%h %d')" '{if($0 ~ p || $0 ~ y || $0 ~ t) print}' /var/log/messages

# 5  
Old 04-14-2014
The problem you have is at the first of the month. (day - 2) does not work when today is the 1st or 2nd. The command "date '2 days ago'" does not work with the standard Unix date command. That syntax is a part of the GNU version of date. I would recommend installing it as it seems to be 100% backwards compatible with the vanilla date command but, as you can see, adds much more functionality. It is a part of the coreutils package from GNU. Once you have this then SriniShoo's examples should work. I like to install this and call it gdate just to make sure to keep the original date command in tact.

There is also a shell script you can find on this site written by Perderabo which also does some pretty good date handling called datecalc. I like the GNU date a little better but, just in case you cannot install 3rd party software, datecalc is a pretty close second.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Transfer the logs being thrown into /var/log/messages into another file example /var/log/volumelog

I have been searching and reading about syslog. I would like to know how to Transfer the logs being thrown into /var/log/messages into another file example /var/log/volumelog. tail -f /var/log/messages dblogger: msg_to_dbrow: no logtype using missing dblogger: msg_to_dbrow_str: val ==... (2 Replies)
Discussion started by: kenshinhimura
2 Replies

2. Shell Programming and Scripting

Log all the commands input by user at real time in /var/log/messages

Below is my script to log all the command input by any user to /var/log/messages. But I cant achieve the desired output that i want. PLease see below. function log2syslog { declare COMMAND COMMAND=$(fc -ln -0) logger -p local1.notice -t bash -i -- "$USER:$COMMAND" } trap... (12 Replies)
Discussion started by: invinzin21
12 Replies

3. SuSE

Some error messages in var/log/messages

How are you? SUSE V10 and 11. In /var/log/messages I see these lines in some servers. I'd like to know what causes these errors and how to fix them. Thank you, error: PAM: Authentication failure for root from XXXXXXXX Did not receive identification string from XXXXXXX Invalid user suse-gm... (2 Replies)
Discussion started by: JDBA
2 Replies

4. Shell Programming and Scripting

Cleanup a log file data every 2 days

How do i cleanup a log file data every 2 days, I was using below command in a script to remove log file every 2 days, but looks like its not working as log file date and time gets updated every 5 mins. Is there a way ? find ./ \( -name . -o -prune \) -type f -mtime -2 -name... (9 Replies)
Discussion started by: aix_admin_007
9 Replies

5. UNIX for Dummies Questions & Answers

fprintd messages in /var/log/messages

Whenever a user uses su I get the following error messages in /var/log/messages: Nov 23 04:24:55 <REMOVED> abrt: saved core dump of pid 26141 (/usr/libexec/fprintd) to /var/spool/abrt/ccpp-1322018695-26141.new/coredump (753664 bytes) Nov 23 04:24:55 <REMOVED> abrtd: Directory... (3 Replies)
Discussion started by: JakesHat
3 Replies

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

7. Solaris

Difference between /var/log/syslog and /var/adm/messages

Hi, Is the contents in /var/log/syslog and /var/adm/messages are same?? Regards (3 Replies)
Discussion started by: vks47
3 Replies

8. UNIX for Advanced & Expert Users

/var/adm/messages vs /var/log/messages

The /var/adm/messages in Solaris seem to log more system messages/errors compared to /var/log/messages in Linux. I checked the log level in Linux and they seem OK. Is there any other log file that contains the messages or is it just that Linux doesn't log great many things? (2 Replies)
Discussion started by: gomes1333
2 Replies

9. Solaris

diff b/w /var/log/syslog and /var/adm/messages

hi sirs can u tell the difference between /var/log/syslogs and /var/adm/messages in my working place i am having two servers. in one servers messages file is empty and syslog file is going on increasing.. and in another servers message file is going on increasing but syslog file is... (2 Replies)
Discussion started by: tv.praveenkumar
2 Replies

10. UNIX for Dummies Questions & Answers

/var/log/messages

Which programm, deamon or script is responsible for filling the file /var/log/messages ? (1 Reply)
Discussion started by: Cozmic
1 Replies
Login or Register to Ask a Question