-------------------------------Main Program-------------------------------
Monitoring Script:
[root@config ~]# cd asptools/
[root@config asptools]# cat Mem-Monitor.sh
#!/bin/sh #Author:zhai_kang,20131010 Dest_Path=/var/log/Monitor ###################################################Memory Monitor#################################################### #Check the log directory exists and create if [[ ! -d $Dest_Path ]] then mkdir -p $Dest_Path fi #Log title if [[ $(date +%H%M) == "0000" ]] then echo -e "yyyymmdd-H:M:S\t\tMem_free\tSwap_free\tSwap_total\tSwap_free_per" > $Dest_Path/Mem-Monitor-$(date +%Y%m% d).log fi #Mem_free Mem_free=`free -m | grep Mem | awk '{print $4}'` #Swap_free Swap_free=`free -m | grep Swap | awk '{print $4}'` #Swap_total Swap_total=`free -m | grep Swap | awk '{print $2}'` #Swap_used Swap_used=`free -m | grep Swap | awk '{print $3}'` #Swap_free_per if [[ $Swap_used != 0 ]] then Swap_free_per="0`echo "scale=2;$Swap_free/$Swap_total" | bc`" else Swap_free_per="`echo "scale=2;$Swap_free/$Swap_total" | bc`" fi #Monitoring Data echo -e "$(date +%Y%m%d-%H:%M:%S)\t$Mem_free\t\t$Swap_free\t\t$Swap_total\t\t$Swap_free_per" >> $Dest_Path/Mem-Monitor- $(date +%Y%m%d).log exit
Cron job:
[root@config asptools]# crontab -l
*/1 00,8-16 * * * /root/asptools/Mem-Monitor.sh >> ~/asptools/log/mem.log 2>&1
See the log:
[root@config asptools]# ll log/
total 0
-rw-r--r-- 1 root root 0 Oct 10 17:59 mem.log
[root@config asptools]# cat /var/log/Monitor/Mem-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 directory include /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/old
Manual testing:
[root@config asptools]# logrotate -f /etc/logrotate.d/Monitor
---------------------------------------------------------------------
For more information refer to:man logrotate
转载于:https://blog.51cto.com/kingcraft/1308571