从0到1,教你实现备份网站&数据的2个办法!

作者:聚福 发表于:2024-12-20

  服务器有价,数据无价。网站的备份是至关重要的,前不久,在一个站长群里听某个人说3年的网站数据丢失了,没有做好备份,很心痛 ,听着好惨。今天就来说一下网站的备份方法。这篇文章我们将从0到1,自己设计一下网站的备份(疯狂的解决问题和学知识点)

  一般来说,我们要备份的就是网站目录和数据库文件,对于宝塔用户而言,备份网站和备份数据库很简单。因为在计划任务这里。都有,只需要配置好时间即可。当然了,很关键的一点是,宝塔备份是备份在了服务器本机。然而如果备份在服务器本机,那和不备份实际上区别也不大。

从0到1,教你实现备份网站&数据的2个办法!

  最初我的备份思路是将宝塔备份的文件到服务器本机上的数据,通过定时任务和SCP给发送到另一台服务器。这样的话多一重保障 。 但是考虑到有部分粉丝可能没有这么多服务器,所以我先说一下将备份的文件发送到邮箱。这样也是比较好的方案,各个邮箱接受的附件都有大小限制,如果文件太大就不能用这种办法。 接下来我们就自己实现备份,发送到邮箱

  前置条件:如果要用linux服务器发送邮件,可以使用mutt 。只需要 安装一下即可。 安装完后我们可以输入以下内容来验证是否可以发送成功。 如下图这样就是代表成功了。

  有的同学估计在测试发送时候会遇到诸如: Bad IDN in "from": 'VM-4-7-centos.�’ 这时候只需要 把里面的from 更改设置一下即可。

  执行命令 : echo 的数据备份已到达 | mutt atoXX -s "网站备份" -a /hu/backup/.gz -a /hu/backup/.sql

  `` 可恶,报错了。原因是文件太大了,发送失败。这时候不要慌。

  我们执行命令 然后再这个配置文件处新增配置 后:wq保存退出即可。 它的单位是bytes。512000000这个换算下来是488MB左右,如果你有更大的需求,按需更改就行。

  还需要新增一个配置mailbox_size_limit=512000001 。 其实只要保证这个配置的值比刚刚的大就行。

  保存之后需要重启服务,输入 即可。

  5.然后再次执行发送命令。当终端上输出我有一个邮件到达XX 时候,我就感觉不妙。果然一看日志发送又失败了。原因是超过了网易接收的最大70MB的限制

  (date +%Y%m%d-%H%M)

  发现是OK的。我们来邮箱检查一下,很完美。

  执行命令: 在执行时候会要求你输入B服务器的ssh密码。我们输入后他就会进行传输了。请确保B服务器的保存路径存在。

  一把通过,成功了!

  主流程已通,下一步我们要通过定时任务+脚本的方式来解决这个问题。在这之前,我们需要配置A服务器SSH访问B不需要输入密码,不然就无法后台定时任务运行了。

  我这里设置了发送成功后的钉钉通知,以及删掉本地服务器的打包的备份文件(节约点空间),执行脚本后,A服务器没有备份文件,B有备份文件,且钉钉通知正常,最终的脚本如下:

  然后我又配置一个定时任务 配置的是每双周的0:30执行一次。

  这样,我们的最终备份方案是:

  宝塔每周备份一次网站,存放在服务器本机上

  每双周0点30,A服务器进行备份,且打包发送给B服务器

  今日的分享就完毕了~

  创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

版权声明

本文系作者发表,未经许可,不得转载