简介
我的blog是基于wordpress搭建的,托管与阿里云,我担心万一那一天阿里云出现什么故障,整个业务都无法恢复了,我blog写的文章就没有了。然而我一个穷屌丝也没有钱搭建灾备,同时也有运维的好习惯就是怕麻烦,也不会每次都备份然后拉取到本地。所以使用了一个比较简单的方式来备份我的blog,就是使用shell脚本每周在服务器备份一次代码目录和sql文件,然后使用mutt+msmtp发送备份的文件到我的qq邮箱。由于我的blog数据量不是很大也就是几十兆,这种备份方式还是比较实用的的。
Linux下使用mutt,msmtp发信
1、安装mutt和msmtp
[root@openvpn ~]# yum -y install mutt msmtp
2、配置msmtp,只需要在用户根目录下创建.msmtprc 文件添加如下配置文件即可,msmtp主要配置发件的服务器地址,以及认证信息,我这里使用的是阿里邮箱。
[root@bogon ~]# vim .msmtprc defaults tls on logfile /usr/local/msmtp/msmtp.log # 配置日志 account acc1 # 配置用户账户 host smtp.mxhichina.com # 配置smtp服务器地址 port 25 # 配置smtp端口 from system@xxx.com # 发件人地址配置 auth login # 认证方式,设置login即可, tls off user system@xxx.com # 用户名 password 密码 # 密码 account default : acc1 # 发件账户配置
3、配置mutt,只需要在用户根目录下配置.muttrc文件添加如下配置即可,mutt配置文件主要配置发件的一些设置
[root@openvpn ~]# vim .muttrc # 使用msmtp set sendmail="/usr/bin/msmtp" # 设置发信地址和用户名 set use_from=yes set realname="fblinux" set from=system@xxx.com set envelope_from=yes # 设置编码,保持和终端一致 set charset = "utf-8" # 发信使用的字符集 set send_charset = "us-ascii:iso-8859-1:gb18030:utf-8"
4、发送邮件测试
echo "测试邮件____内容" | mutt -s "测试邮件主题" 2723216002@qq.com -a /etc/passwd
blog备份配置
blog备份脚本:只需要打包代码目录,以及备份博客的数据库,然后使用邮件把备份文件发送到我的邮箱即可。
[root@blog001 ~]# cat /shell/blog_backup.sh #!/bin/bash CTIME=(`date +%Y-%m-%d-%H-%M-%S`) /usr/local/mysql/bin/mysqldump -B wordpress -u root -p数据库密码 -h localhost > /data/backup/back_fblinux_sql_$CTIME.sql tar zcf /data/backup/back_fblinux_web_$CTIME.tar.gz /data/www/blog/ echo "fblinux博客备份" | mutt -s "博客备份" 2723216002@qq.com -a /data/backup/back_fblinux_sql_$CTIME.sql /data/backup/back_fblinux_web_$CTIME.tar.gz
blog备份定时任务,每周备份一次:
00 00 * * 1 /bin/sh /shell/blog_backup.sh