深蓝网络

网站建设,程序开发,主机域名,搜索引擎

服务器或VPS进行FTP异地远程备份


大家在拥有了自已的独立主机或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备份文件也放在对象文件夹中了,方便处理。
 批处理代码

  1. @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   ::这个是实验时用的,可以看清整个过程,正式使用时要去掉 !


在Windows计划任务调用这个批处理,周期为每天上午5点左右(访问量最小的时候)。

 

好了,以后只要过几天去VPS和GODADDY的免费空间删除一些无用的压缩备份文件,以节省空间。
现在服务器异地远程数据备份达到自动,方便,可靠。


上一篇  |  下一篇
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。