使用mutt+msmtp+shell自动备份我的blog

2023年 7月 16日 20.8k 0

简介

我的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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论