当前位置:软件学习 > 其它软件 >>

用批处理命令加WinRAR实现自动备份文件数据

 

  因为每天都要自动从开发服务器上备份源代码,并且由于开发的源代码中有大量的日志文件(Log)和开发时上传的附件(uploadfile)都巨大,但是这些文件都可以不要,如果用winrar 全部压缩,每天都要耗时1~2个小时。实在是太浪费时间了。

\

  如图: log 、 uploadfile 下,有大量的文件,而这些是不用备份的。

 

如果用 

rar a - F:\bak.rar  D:\wwwroot   -ag 进行压缩,则会把所有的文件都全部压缩的。那么将会消耗很多时间和磁盘空间的

 

更严重的时,我们的wwwroot 下,一共有3个项目的代码。如图“QYXMGL_XY”、“Shopping”、“TEST”。每个项目下的文件夹架构相似,都有“Log""Uploadfile”,每次全部压缩是相当费时费力的。

 

因此,想到了用  WinRAR的命令参数, (  -X ),来排除某些文件夹

 

例如,要排除   webroot下的Log目录,那么可以这么写

            -x*\log\*

 注意

    (1)有2个“\”,排除log目录,其实就是在压缩时,避开 \log下的文件

    (2)整个目录下,如果还有其它名为“log”的,也会一并被过滤。

      所以,如果仅仅是过滤某1个文件夹,可以再增加限制条件。

          -x*webroot\log\*

     这样的话,就仅仅是过滤  webroot下的Log了。

 

详细的代码如下,复制到记事本后,另存为“自动备份.CMD”即可。  windows2000\2003下,建议用cmd做扩展名,其它系统用.bat做扩展名。

 

 

@echo off


::生成当月的文件夹名(在F:\盘创建文件夹)
::DirName 目标路径
::Backup  原路径
@set DirName=F:\FX_%date:~0,7%
@set Backup=D:\wwwroot

::映射 WinRar
path "C:\Program Files\WinRAR"

cls
@echo 自动备份到 %DirName% 路径下
@echo .
@echo .

pause

::自动创建日期文件夹
@if not exist %DirName% (md %DirName%)


rar a -x*webroot\log\* -x*webroot\uploadfile\* %DirName%\FX_  %Backup% -ag

以上代码在windows2003 服务器操作系统上测试通过。

 

运行效果图:

\

 

摘自张建波专栏

补充:软件开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,