-------------------------------Main Program-------------------------------
Monitoring Script:[root@config ~]# cd asptools/
[root@config asptools]# cat NIC-Monitor.sh#!/bin/sh#Author:zhai_kang,20131010export PATH=$PATH:/sbinDest_Path=/var/log/Monitor############################################NIC traffic monitoring###################################################Function-----Rate Units:k/sNIC_Monitor(){ rx1=$(ifconfig $1|grep "RX bytes"|awk '{print $2}'|awk -F: '{print $2}') sleep 1 rxa=$(($rx1 / 1024)) rx2=$(ifconfig eth0|grep "RX bytes"|awk '{print $2}'|awk -F: '{print $2}') rxb=$(($rx2 / 1024)) rx=$(($rxb-$rxa)) if [[ $rx -lt 0 ]] then rx=`expr 0 - $rx` fi echo -e "$(date +%Y%m%d-%H:%M:%S)\t\t$i\t\t\t$rx"}##main program###Check the log directory exists and createif [[ ! -d $Dest_Path ]]then mkdir -p $Dest_Pathfi#Log titleif [[ $(date +%H%M) == "0000" ]]then echo -e "yyyymmdd-H:M:S\t\t\tInterface\t\tNIC-Flow(Units:k/s)" > $Dest_Path/NIC-Monitor-$(date +%Y%m%d).logfi#Monitoring datasign=`ifconfig -s | grep -v lo | grep -v Iface | awk '{print $1}'`for i in $signdo NIC_Monitor $i >> $Dest_Path/NIC-Monitor-$(date +%Y%m%d).logdoneexitCron job:[root@config asptools]# crontab -l
*/1 00,8-16 * * * /root/asptools/NIC-Monitor.sh >> ~/asptools/log/nic.log 2>&1See the log:[root@config asptools]# ll log/total 0-rw-r--r-- 1 root root 0 Oct 10 17:59 nic.log[root@config asptools]# cat /var/log/Monitor/NIC-Monitor-20131011.log -------------------------------Syslog Server------------------------------- Find the directory where the configuration file:[root@config asptools]# cat /etc/logrotate.conf | grep -B 1 include
# RPM packages drop log rotation information into this directoryinclude /etc/logrotate.d
Custom configuration file:
[root@config asptools]# cat /etc/logrotate.d/Monitor/var/log/Monitor/*.log { compress notifempty rotate 6 create 0400 root root olddir /var/log/Monitor/old/ sharedscripts weekly}
Create a log backup directory:
[root@config asptools]# mkdir /var/log/Monitor/oldManual testing:[root@config asptools]# logrotate -f /etc/logrotate.d/Monitor --------------------------------------------------------------------- For more information refer to:man logrotate