一、添加SMTP服務器
bin/mail會默認使用本地sendmail發(fā)送郵件,而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的smtp服務器發(fā)送郵件的目的。
在需要發(fā)送自動報警的服務器上修改如下文件,增加如下兩行
# vim /etc/mail.rc
set from=doteyplay@126.com smtp=smtp.126.com
set smtp-auth-user=doteyplay smtp-auth-password=*** smtp-auth=login
使用redhat的時候,在/etc/mail.rc里改了一下外部smtp的設置,可以使用外部郵箱發(fā)郵件了,但在ubuntu下可能沒有/etc/mail.rc這個文件
buntu上:
ubunut上mailx這個命令對應的deb包有bsd-mailx
bsd-mailx對應的配置文件是/etc/mail.rc跟centos一樣
apt-get install sendmail
apt-get install mailutils
apt-get install bsd-mailx
當然,這里的SMTP服務器也可以使用別的,比如QQ的,但是QQ只能發(fā)幾卦,在測試的時候,總報錯:smtp-server: 454 Error: authentication failed, system busy,萬惡的TX!所以,后來改126的SMTP服務器了,用起來還是相當不錯的。對于郵箱嘛,用139郵箱吧,因為有短信提醒,同樣,在測試的時候,QQ郵箱那個慢呀……
二、禪道自動備份腳本
1、自動備份腳本
#vim chandao_backup.sh
#!/bin/bash
#Auto backup for chandao
#Date: first write on 2014.7.22
#Vertion: v1.1
date=`date +%Y-%m-%d`
tarball="tar -jcf /opt/backup/chandao-$date.tar.bz2 chandao/"
user1=13910892224@139.com
user2=15048088251@139.com
if [ ! -d "/opt/backup/" ]; then
mkdir -p /opt/backup/
fi
cd /var/www/html/ && $tarball
judge=`echo $?`
if [ $judge == 0 ];then
echo "backup is ok" | mail -s "Auto backup for chandao" $user1 $user2;
else
echo "backup is failure" | mail -s "Auto backup for chandao" $user1 $user2;
fi
find /opt/backup/ -type f -mtime +30 -name "*.bz2" -exec rm -rf {} ;
2、賦予腳本執(zhí)行權(quán)限
chmod +x chandao_backup.sh
3、任務計劃自動執(zhí)行
#crontab -e
0 0 * * * /bin/sh /opt/scripts/chandao_backup.sh > /dev/null 2>&1