一个月前购买了国内的一个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.30.tar.bz2?big_mirror=0
tar jxvf msmtp-1.4.30.tar.bz2
2、安装
./msmtp-1.4.30/configure –prefix=/usr/local/msmtp
make
make install
注意红色标记出的目录,因为是解压到那个目录的。
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 [email protected] auth login # 邮件服务器登录账号 user [email protected] # 邮件服务器登陆密码 password 123456 # Set a default account account default: test
Esc,shift+: 进入命令模式,输入x,保存退出。
由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/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设置的账号相同,否则可能会出错。
3、测试一下mutt是否有效
echo "测试测试" | mutt -s "测试" 测试邮件地址 echo "test" |mutt -s "my_first_test" [email protected]
我会给你自动回复的 😉
下面就可以使用mutt进行邮件备份等工作了,结合cron使用,可以实现的功能相当多。
看我的icon,嘎嘎
我是手动备份,但是有好久没下载到本机了。