深蓝之网络

研究网站建设,程序开发,主机域名,搜索引擎,欢迎大家访问留言!

« BurstNET的VPS网络测评分享关于美国域名主机VPS使用经历 »

服务器或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    
  2. cls    
  3. @ECHO ======================================   
  4. @ECHO WebSite Daily Backup        
  5. @ECHO Time:%DATE% %TIME%         
  6. @ECHO ======================================    
  7. set target_dir=D:\backup   ::这个是放备份压缩文件的目标文件夹
  8. set target_fn=ws_bk_%date:~0,4%%date:~5,2%%date:~8,2%.rar   ::这个是备份文件的文件名,以日期命名。
  9. set source_dir=C:\www_root\*  ::备份对象文件夹
  10.   
  11. path "C:\Program Files\WinRAR"   ::WinRAR的安装目录
  12. rar a -r -y %target_dir%\%target_fn% %source_dir%    
  13.   
  14. echo     
  15. echo 备份完成   
  16. pause   ::这个是实验时用的,可以看清整个过程,正式使用时要去掉

大家可以先在本地试验一下,成功后再上传服务器。

二、上传至远程服务器
我们利用的是Godaddy的免费虚拟主机(都玩VPS了,大家不会没有几个狗爹的免费主机吧?嘿嘿)
为什么用它的呢,份大量足。300G带宽,10G硬盘。差点的VPS还没它量足呢。
如果共享IP是被封的也没关系,因为VPS本身也在国外,所以完全不影响连接。
然后用Windows本身的FTP命令做批处理,上传备份文件。

  1. @ECHO off    
  2. cls    
  3. @ECHO ======================================   
  4. @ECHO WebSite Daily FTP_Backup        
  5. @ECHO Time:%DATE% %TIME%         
  6. @ECHO ======================================   
  7.   
  8. set source_dir=D:\backup    ::这个是放备份压缩文件的目标文件夹
  9. set source_fn=ws_bk_%date:~0,4%%date:~5,2%%date:~8,2%.rar    ::备份文件的文件名
  10. set target_dir=/VPS_Backup   ::远程文件夹
  11.   
  12. echo open xxx.xxx.xxx.xxx>ftp.txt    ::Godaddy的IP地址或域名
  13. echo user_name>>ftp.txt    ::Godaddy的FTP帐户名
  14. echo user_password>>ftp.txt    ::密码
  15. echo cd %target_dir%>>ftp.txt   
  16. echo binary>>ftp.txt   
  17. echo send %source_dir%\%source_fn%>>ftp.txt   
  18. echo bye>>ftp.txt   
  19.   
  20. ftp -i -s:ftp.txt   
  21.   
  22. echo 上传完成   
  23. pause   ::这个是实验时用的,可以看清整个过程,正式使用时要去掉 !

 在两个BAT批处理分别调试好正常以后,把这两个批处理后合并成一个文件。

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

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


除非注明,文章均为深蓝网络原创,转载请注明出处,谢谢。
本文地址:http://www.dieep.com/Category/host/12.html

发表评论:

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

日历

最新评论及回复

最近发表

Copyright www.dieep.com. All Rights Reserved.

Powered By Z-Blog 1.8 Walle Build 100427