#!/bin/bash

# Generates a log file in current directory
# from the tail end of /var/log/messages.

# Note: /var/log/messages must be world readable
# if this script invoked by an ordinary user.
#         #root chmod 644 /var/log/messages

LINES=5

( date; uname -a ) >>logfile
# Time and machine name
echo ---------------------------------------------------------- >>logfile
tail -n $LINES /var/log/messages | xargs | fmt -s >>logfile
echo >>logfile
echo >>logfile

exit 0

#  Note:
#  ----
#  As Frank Wang points out,
#+ unmatched quotes (either single or double quotes) in the source file
#+ may give xargs indigestion.
#
#  He suggests the following substitution for line 15:
#  tail -n $LINES /var/log/messages | tr -d "\"'" | xargs | fmt -s >>logfile



#  Exercise:
#  --------
#  Modify this script to track changes in /var/log/messages at intervals
#+ of 20 minutes.
#  Hint: Use the "watch" command. 
[root@localhost shell]# ./ex41.sh
[root@localhost shell]# cat logfile
2012年 10月 30日 星期二 20:34:40 CST
Linux localhost.localdomain 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008 i686 i686 i386 GNU/Linux
----------------------------------------------------------
Oct 30 10:22:18 localhost tpvmlpd[2223]: aborting Oct 30 10:24:10
localhost kernel: VMCIUtil: Updating context id from 0xc65b48c5 to
0xc65b48c5 on event 0. Oct 30 11:04:40 localhost kernel: VMCIUtil:
Updating context id from 0xc65b48c5 to 0xc65b48c5 on event 0. Oct 30
12:33:29 localhost kernel: VMCIUtil: Updating context id from 0xc65b48c5
to 0xc65b48c5 on event 0. Oct 30 16:13:34 localhost kernel: VMCIUtil:
Updating context id from 0xc65b48c5 to 0xc65b48c5 on


Logo

一站式虚拟内容创作平台,激发创意,赋能创作,进入R空间,遇见同道,让优质作品闪耀发光。​

更多推荐