文章分类
  • 10月
    15日
    使用网盘备份服务器数据
    杂七杂八 dier 2014-10-15 23:34 6305 0

      由于个人比较厌烦备案程序,所以网站一直挂在外国,但国外的服务器访问速度真不是一般的慢。最近刚好有个机会,所以就考虑将服务器迁移至较近的香港来。在几经周折后,在淘宝上找了家个人的供应商,租用了个VPS。总体来说,速度什么的都还挺不错的。但唯一的缺点就是不作备份……要知道资料是宝贵的,备份是必须的,于是呢,但想出了利用网盘来备份服务器数据的想法。 

      有了想法那就要查资料咯,其实国内几家较大的网盘提供商均有提供可以满足这个需求的工具——同步盘。也就是开着同步盘,就可以自动把你设置好的目录给同步到网盘里去。

      有了工具了,那下面就是如何同步了,要知道,数据库不可能直接放网盘里,Web应用程序也不可能,因为他们都一直在变。如果直接同步的话,那一天不知道要同步多少个来回,不把服务器搞死也要搞个半残的。于是想出了一种折中的办法,那就是每日备份。

      要实现每日备份,那就要给数据做个副本,数据库就是利用其维护任务每日备份,这个设置几下就OK了,然后就是WEB,因为文件太多,复制一份也不利于同步,所以就想出了压缩成单文件再备份。而由此也延伸出又一个问题,那就是硬盘空间有限,需要定期清除掉过期的数据。

      好了,不知不觉又说了一大堆废话,那么想法基本完善了,下面就来说说做法。


    一、网盘

      首先,当然是找一家有提供同步盘的供应商啦,这里微云、百度网盘、360网盘等等,很多国内比较大的供应商均有此工具,具体你选哪个我就不管了。下载同步盘后,安装在服务器上,并在服务器上做好相应的配置。这里我就不多说了,如果你连这个都要看教程,就别搞服务器啦~


    二、备份

      接着就是数据的备份了,这里数据库的备份我也不多说了,MSSQL自家就能备份,其它MYSQL、ORACLE也应该有类似的功能,自己做个任务定时备份出来就是了。WEB程序也要备份,不过要压缩打包,所以放到第三点一起讲。


    三、清理过期文件

      清理过期文件,就是把一些之前的备份文件给删除了,在Windows2003之后的系统,有这么一个小程序可以实现根据文件日期来删除文件。

    forfiles /p "D:\同步盘\服务器" /d -7 /c "cmd del @path"

    解释一下:

    forfiles:Windows自带的一个查找文件的小工具,可以根据文件时间来返回一个列表;

    /p:是指要查找的具体路径,这里设置的是备份时用的路径;

    /d -7:这个是查找7天前的文件;

    /c:就是找到这份列表后,循环每个文件,逐一执行命令行,这里写的就是删除文件啦;

    这样子就可以实现自动清除历史过期的备份文件了,是不是So easy呢!


    四、压缩

      接下来就是压缩数据了,一来可以节省空间,二来也利于传输,这是必须的!这里我用的是国内的好压来实现,当然类似WinRAR、WinZip、7Zip等大牌也是有提供命令行方式的压缩程序。

    关于好压的命令行,官方有相关的帮助文档,我也不废话,具体戳这里:http://haozip.2345.com/help/help11-1.htm。下面来介绍一下我备份数据库和Web的命令行。

    "c:\Program Files\HaoZip\HaoZipC.exe" a "D:\同步盘\服务器\%date:~0,10%_Db.7z" "D:\Database\Backup\*" -wD:\Temp
    "c:\Program Files\HaoZip\HaoZipC.exe" a "D:\同步盘\服务器\%date:~0,10%_WEB.7z" "D:\Web\*" -wD:\Temp

    解释一下:

    HaoZipC.exe:好压的命令行程序;

    a:代表的是压缩程序;

    D:\同步盘\服务器\%date:~0,10%_DbBackup.7z:代表的是压缩完文件放到某个目录下,其中%date%的写法是windows的批处理文件支持的,就是取当前日期,这样可以通过文件就知道哪天备份的,也可以避免文件名重复给覆盖了;

    D:\Database\Backup\*:这个代表在压缩的文件的路径,包括目录和子目录下的所有文件;

    -wD:\Temp:代表压缩程序的工作目录,也就是等压缩完了再移至目标目录,这样可以避免执行一半同步盘就开始要同步了;

      其它一些配置我都用默认的,包括压缩级别、格式等等,具体可以看官方文档。


    五、计划任务

      写好了批处理文件,还要自动执行啊!所以就利用Windows自带的计划任务功能,设置一个任务,让他每天某个时刻自动调用一下这个压缩文件,压缩完同步盘就可自动帮你同步到网盘上去了。嘿嘿~

      至此,整个工作就算是OK了,然后就静静的等待系统自动帮你把数据备份到网盘上去吧。

      当然,对于我这样的小站每天都全量数据库+全量程序的,还是可以的,如果是大站的话,效果如何我就不清楚了,毕竟备份一下几个G的话,同步起来就麻烦了。

      OK,就分享到这里,希望大家喜欢!


文章评论