一个月前购买了国内的一个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.
defaultslogfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test# SMTP邮件服务器地址
host smtp.qq.com# 发送的邮件Email
from [email protected]
auth login# 邮件服务器登录账号
user [email protected]# 邮件服务器登陆密码
password 123456
# Set a default account
account default : test
Esc,shift+:进入命令模式,输入wq,保存退出。
由于password是明码,所以我们需要修改此文件的权限 chmod 600 .msmtprc
4、测试
/usr/local/msmtp/bin/msmtp [email protected]
输入任意字符,然后按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" [email protected]
下面就可以使用mutt进行邮件备份等工作了,结合cron使用,可以实现的功能相当多。