前言
网站经常备份好处就是遇到问题以后可以迅速的恢复,不那么被动,防止信息丢失,操作性很大。虽然搭建一个网站非常容易,但为了应对网络上各种各样的意外情况,避免自己的网站付诸东流,做好网站备份是非常有必要的。
现在邮箱接收都支持附件文件,将网站文件和数据库文件备份到我们自己的邮箱也是一种很好地备份方式,也防止备份文件丢失。
邮箱接收附件文件大小,取决于使用的邮箱服务。一般来说个人博客网站源文件,数据库文件不大,常见邮箱服务都是可以使用的。
下面开始教程,宝塔安装教程可去宝塔官网查看安装教程。
系统环境:CentOS 7.9.2009 x86_64(其他系统可参考方式,命令安装自行解决)
宝塔面板:7.9.0
安装 mailx
浏览器登录进入宝塔面板,左侧-》终端。首次使用宝塔终端,需要登录服务器,填写 root 用户密码后登录。
在终端中输入以下 mailx 安装命令,回车安装。
yum install -y mailx
编辑配置文件
安装完成后,编辑邮箱服务的相关配置文件。 在终端输入以下命令,然后回车进入编辑文件界面。
vim /etc/mail.rc
使用键盘上下键,找到大约 69 行位置,按‘i’键输入,添加以下配置。
set from=发件人@qq.com #发送邮件后显示的邮件发送方 需要修改
set smtp=smtps://smtp.qq.com:465 #SMTP服务器的网址及端口 需要修改
set smtp-auth-user=发件人@qq.com #发送邮箱 需要修改
set smtp-auth-password=邮箱密码/SMTP授权码 #设置的邮箱密码,SMTP授权密码 需要修改
set smtp-auth=login #动作、登录 无需修改
set ssl-verify=ignore #ssl验证忽略 无需修改
set nss-config-dir=/etc/pki/nssdb #证书存放目录 无需修改
请将配置按要求修改为自己所使用的邮箱服务配置。服务器需要开启 465 端口。
配置修改完成后,按 Esc 键,输入:wq
回车保存退出编辑界面。
测试发送邮件
在终端输入发送测试邮件命令,需要修改收件人邮箱,回车执行。
echo "这是一封测试邮件" | mail -s "邮件主题" 收件人@qq.com
查看邮箱是否收到测试邮件。
如果发现终端报以下错误(但没有影响收件),没有错误请跳过。
Error in certificate: Peer's certificate issuer has been marked as not trusted by the.
Ctrl+C
结束命令后,修改邮箱服务配置文件,将set ssl-verify=ignore
修改为set ssl-verify=strict
后保存退出(编辑方法同上)。
修改完成后在终端输入以下命令。
获取邮件服务器证书
echo -n " " | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFIICATE-/p' > /etc/pki/nssdb/qq.crt
把证书添加到受信任表
certutil -A -n 'yeah' -t "P,P,P" -d /etc/pki/nssdb -i /etc/pki/nssdb/qq.crt
注:如果是 163 或者其他邮箱服务器请将smtp.qq.com
改为smtp.163.com
,qq.crt
改为163.crt
以此类推。
命令执行完成后,重新执行发送测试邮件命令,不在报错。
宝塔定时任务
左侧-》计划任务
首先按自己需求(计划任务执行时间,保留文件数量等)添加网站和数据库源文件备份任务。
然后添加shell
脚本任务,在脚本内容中添加以下脚本命令,修改收件人为自己的邮箱。
#!/bin/bash
cd /www/backup/site
for file in $(ls *)
do
str="${str} -a ${file}"
done
echo "主人,今天的网站备份又到了哦,请注意查收!" | mail -s "网站备份" $str 2502393029@qq.com
执行时间可按需求,晚于网站,数据库备份任务执行时间。
数据库备份和网站备份一样需要再添加一次计划任务,将cd /www/backup/site
修改为cd /www/backup/database
数据库备份文件所在目录即可,参考改一下邮件主题,和内容信息。
计划任务添加完成后,可先执行网站,数据库源文件备份任务,再执行网站,数据库邮箱shell
脚本备份任务,然后前往邮箱查看文件是否收到,文件过大,邮件会有延迟。
注:如果有报错或收不到邮件情况,请仔细检查命令,配置文件是否有误,或者查看脚本执行日志进行排查。
转载自梦繁星博客:https://blog.emoao.com/13.html
如果问题请在评论区留言。