服务器实现定时远程异地服务器备份的方法与方式
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
在现阶段网站的发展中,随着站点的慢慢变大,数据的备份也变的异常重要,
本地备份还是有许多不适合,下面来说下关于远程异地备份的方法;
如果服务器出现硬件故障怎么办?如果数据找不回怎么办?如果服务器所在机房遭到故障,就像前段时间因为备案问题出现大面积封网的情况,很多站长就因为机房问题,数据没法拿出来,没办法重新找空间或者服务器来搭建网站,只能干等着机房的网络恢复正常。到网站发展到一定规模的时候,我们都应该有很多应急方案来处理这些应急的情况。
对于以上的这些情况,我们应该做到数据的定时备份。对于网站备份,可能大多数人考虑用ftp来实现。但是我个人觉得ftp并不是很安全,像现在很多网站入侵,都是通过serv-u的提权,从而得到服务器的超级管理权限。所以我从来不开ftp,而且一般ftp工具并没法实现自动定时下载。下面我就站长帮手网怎么用7zip+vbs+任务管理器来实现自动备份数据。大概步骤如下:
1.通过sql server建立数据库维护计划,在指定目录生成一个bak文件。该步骤通过sql server可以实现。每天的凌晨1点执行。备份时间需要花费约20分钟。
2.到安装好7zip的目录,将7zip.exe拷贝到数据库备份的文件夹下。通过7zip将数据打包成若干个文件。这里打包成多个文件,主要是因为linkhelper的数据库有13个g非常大,后面vbs里面下载用到ado.stream,ado.stream对文件大小有限制。7zip为免费软件。打包命令为:
rem 设定本地路径
echo off&setlocal enabledelayedexpansion
rem 打包前将前一次生成的zip文件删除
del *.zip.*
set "7z=7z.exe"
rem a表示添加 -aoa表示覆盖 -tzip表示生成zip文档 -v800m表示每个分包文件大小为800m
"7z" a -aoa -tzip linkhelperdata -v800m *.bak
rem 打包完成后,将*.bak文件删除
del *.bak
选择7zip打包,是因为7zip压缩速度非常快。将以上代码保存为“备份数据库后打包.bat”,也放在数据库的备份文件所在文件夹下。
3.通过windows计划任务新建一个任务,运行“备份数据库后打包.bat ”。运行用户为system用户,密码为空。运行时间为每天的1点40。7zip压缩13g的数据,大概需要半个小时时间,压缩下来总大小为2个多g,会分成三个压缩包。命名分别为:linkhelperdata.zip.001 linkhelperdata.zip.002 linkhelperdata.zip.003
4.用iis建立一个站点,指向备份目录。然后在iis属性中的http头中新建一个mime类型,扩展名输入.*,mime类型输入:application/octet-stream。这样保证异地服务器能直接下载linkhelperdata.zip.001这样的文件。为了以防数据被其他人下载,我们还可以在iis属性中编辑安全属性,指定允许的ip地址。
通过以上四个步骤,我们就实现了数据库服务器的数据每天定时备份然后打包。下面我们来实现异地服务器的定时下载备份,以下操作都在另外一个服务器上进行。
5.新建一个vbs文件来实现下载,同时为了方便备份文件的管理。我们将每天下载下来的备份文件放到以当天日期命名的目录。因代码稍微有点长,可以进入 查看详细源代码。将该代码命名为"下载数据.vbs"。
6.在异地服务器上新建一个windows计划任务,运行"下载数据.vbs"。运行用户为system用户,密码为空。运行时间为每天的3点进行。
按照以上6个步骤,我们就实现了数据库异地定时备份哦。对于web的备份,我们也可以同样按照这样的操作来进行。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!