2007年1月26日 星期五

[Linux] 每日系統自動email回報系統狀況 !

只要在cron中加入每是執行下列shell程式即可, 如下 :

#!/bin/bash
MAIL_MESSAGE="/tmp/mail.msg"
MAIL_ADDRESS="any1@any.somewhere"
MAIL_CC="any2@any.somewhere"
CURRENT_DATE=`date +%F`
MY_HOSTNAME=`hostname`

# uptime & load average
echo -e "\n[開機時間和平均負載]" > $MAIL_MESSAGE
echo -e "----------------------------------------------------------------" >> $MAIL_MESSAGE
uptime >> $MAIL_MESSAGE

# disk space
echo -e "\n[磁碟容量]" >> $MAIL_MESSAGE
echo -e "----------------------------------------------------------------" >> $MAIL_MESSAGE
df -k >> $MAIL_MESSAGE

# current connections
echo -e "\n[目前連線資料]" >> $MAIL_MESSAGE
echo -e "----------------------------------------------------------------" >> $MAIL_MESSAGE
netstat -a | grep "ESTABLISHED" >> $MAIL_MESSAGE

# recent last login
echo -e "\n[最近登入記錄]" >> $MAIL_MESSAGE
echo -e "----------------------------------------------------------------" >> $MAIL_MESSAGE
last >> $MAIL_MESSAGE

# send it
cat $MAIL_MESSAGE | mail -s "$MY_HOSTNAME : ${CURRENT_DATE} 系統狀況回報 !" -c $MAIL_CC $MAIL_ADDRESS

#clean up
rm $MAIL_MESSAGE

除了以上系統回報狀態外, 也可再加入其他的狀態訊息 !

0 意見: