大家在拥有了自已的独立主机或VPS以后,数据备份成了第一要务。
虽然主机商或网络接入商会提供异地或本机备份方案与服务,但都是需要付费的。
那么我们自已是否可以做独立服务器或VPS异地远程数据备份呢?还要免费的? 答案是肯定的。
网上有许多方案,有传至Gmail备份的,有用dropbox备份的,还有自已下载的,感觉都不符合我这个懒人的要求,呵呵。
我的想法是数据备份一定要:自动,方便,可靠。我经过几次实验与调试,终于总结出了比较完善的一套方案。
实验对象:BurstNET windows 2003 VPS Web主机一台
备份对象:全部网站Web数据与SQL数据。
远程服务器:Godaddy 免费虚拟主机一台,Windows或Linux均可,IP是否被封也不重要。
实现方法:WinRAR + 批处理bat + 计划任务
好,让我们开始吧!
总体来说,服务器或VPS异地远程备份分为三个步骤: 数据准备、备份与压缩、上传异地远程服务器。
一、数据准备
有两种备份方式,一种是全服务器备份,另一种的是选择重要数据备份。这个大家按自已的实际情况进行选择。
我的VPS主机上主要是网站程序文件,XML,生成的静态HTML页,还有ACCESS和SQL数据库。
但文件不多,数据库也不大所以选择全服务器备份。朋友如果数据量太大就选择第二种方案吧。
接下来首先要做的是定时把SQL数据库备份出来,这个是另外一个话题,今天不详细讲了。
其它文件可以直接访问压缩,所以不用另存文件夹。
二、备份与压缩
利用WinRAR的批处理、选择文件功能把需要的文件进行打包处理,然后发送至指定的文件夹里,等待处理。
当然之前要先在服务器上安装WinRAR。在下边bat里,我已经把SQL备份文件也放在对象文件夹中了,方便处理。
批处理代码
- @ECHO off
- cls
- @ECHO ======================================
- @ECHO WebSite Daily Backup
- @ECHO Time:%DATE% %TIME%
- @ECHO ======================================
- set target_dir=D:\backup ::这个是放备份压缩文件的目标文件夹
- set target_fn=ws_bk_%date:~0,4%%date:~5,2%%date:~8,2%.rar ::这个是备份文件的文件名,以日期命名。
- set source_dir=C:\www_root\* ::备份对象文件夹
- path "C:\Program Files\WinRAR" ::WinRAR的安装目录
- rar a -r -y %target_dir%\%target_fn% %source_dir%
- echo
- echo 备份完成
- pause ::这个是实验时用的,可以看清整个过程,正式使用时要去掉 !
大家可以先在本地试验一下,成功后再上传服务器。
二、上传至远程服务器
我们利用的是Godaddy的免费虚拟主机(都玩VPS了,大家不会没有几个狗爹的免费主机吧?嘿嘿)
为什么用它的呢,份大量足。300G带宽,10G硬盘。差点的VPS还没它量足呢。
如果共享IP是被封的也没关系,因为VPS本身也在国外,所以完全不影响连接。
然后用Windows本身的FTP命令做批处理,上传备份文件。
- @ECHO off
- cls
- @ECHO ======================================
- @ECHO WebSite Daily FTP_Backup
- @ECHO Time:%DATE% %TIME%
- @ECHO ======================================
- set source_dir=D:\backup ::这个是放备份压缩文件的目标文件夹
- set source_fn=ws_bk_%date:~0,4%%date:~5,2%%date:~8,2%.rar ::备份文件的文件名
- set target_dir=/VPS_Backup ::远程文件夹
- echo open xxx.xxx.xxx.xxx>ftp.txt ::Godaddy的IP地址或域名
- echo user_name>>ftp.txt ::Godaddy的FTP帐户名
- echo user_password>>ftp.txt ::密码
- echo cd %target_dir%>>ftp.txt
- echo binary>>ftp.txt
- echo send %source_dir%\%source_fn%>>ftp.txt
- echo bye>>ftp.txt
- ftp -i -s:ftp.txt
- echo 上传完成
- pause ::这个是实验时用的,可以看清整个过程,正式使用时要去掉 !
在两个BAT批处理分别调试好正常以后,把这两个批处理后合并成一个文件。
在Windows计划任务调用这个批处理,周期为每天上午5点左右(访问量最小的时候)。
好了,以后只要过几天去VPS和GODADDY的免费空间删除一些无用的压缩备份文件,以节省空间。
现在服务器异地远程数据备份达到自动,方便,可靠。
除非注明,文章均为深蓝网络原创,转载请注明出处,谢谢。
本文地址:http://www.dieep.com/Category/host/12.html