服务器或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备份文件也放在对象文件夹中了,方便处理。
批处理代码
@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的免费空间删除一些无用的压缩备份文件,以节省空间。
现在服务器异地远程数据备份达到自动,方便,可靠。