一個月前購買了國內的一個VPS,一邊從零開始學習Linux,一邊感受Linux的強大。前幾天不小心把VPS折騰的無法重啟了,求助服務商也沒能把資料找回來,因為沒有備份又找不回資料,只好重裝了系統。出了問題才知道備份的重要性,於是開始研究備份,確切的說是自動備份。網上流傳最多的文章就是使用mutt發送郵件附件進行備份的方法,照葫蘆畫瓢跟著就學會了,在IXWebHosting的主機上成功應用(IXWebHosting的主機也是支援cron的)。
可今天回到自己的VPS,sh指令碼寫好以後,檔案成功打包,mutt命令執行了卻發送不了郵件。搜尋了一會才明白原來是mutt需要一個發信的程式,msmtp剛好是一個不錯的選擇。網上關於msmtp的文章也很多,下面我對幾篇文章加工注釋的結果,希望對像我一樣的Linux新手有用。
一、安裝配置msmtp
1、下載、解壓 msmtp
先使用putty等工具登陸ssh
wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0
tar jxvf msmtp-1.4.16.tar.bz2
2、安裝
./msmtp-1.4.16/configure --prefix=/usr/local/msmtp
make
make install
注意紅色標記出的目錄,因為是解壓到那個目錄的。不知道為什麼不能用yum直接安裝,會提示出錯。
3、配置msmtp帳號
切換到,cd /usr/local/msmtp
建立檔案夾etc,mkdir etc
使用vi建立檔案,輸入:vi /usr/local/msmtp/etc/msmtprc ,編輯內容如下:
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test
# SMTP郵件伺服器地址
host smtp.qq.com
# 發送的郵件Email
from xiaobaichi@i0554.com
auth login
# 郵件伺服器登入帳號
user xiaobaichi@i0554.com
# 郵件伺服器登陸密碼
password 123456
# Set a default account
account default : test
Esc,shift+:進入命令模式,輸入wq,儲存退出。
由於password是明碼,所以我們需要修改此檔案的許可權 chmod 600 .msmtprc
4、測試
/usr/local/msmtp/bin/msmtp youremail@test.com
輸入任一字元,然後按Ctrl+D退出,查看郵件是否收到。
由於設定了日誌,可以到 /usr/local/msmtp/msmtp.log,查看日誌,發信成功失敗都會有記錄。
二、安裝配置mutt
1、一般Linux都會預設安裝mutt,CentOS也不例外
可以使用which mutt查看mutt安裝的路徑,如果沒有安裝可以使用 # yum install mutt
2、編輯mutt設定檔
vi /etc/Muttrc ,編輯mutt的總設定,修改以下幾行
set from="發送郵件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="寄件者"
set editor="vi"
發件地址最好與msmtp設定的帳號相同,否則可能會出錯。
vi ~/.muttrc , 編輯根目錄下的設定
set envelope_from=yes
set from="發送郵件地址"
set realname="寄件者"
set use_from=yes
3、測試一下mutt是否有效
echo "測試測試" | mutt -s "測試" 測試郵件地址
echo "test" |mutt -s "my_first_test" yangcheng@i0554.com
下面就可以使用mutt進行郵件備份等工作了,結合cron使用,可以實現的功能相當多。