用批处理命令加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 服务器操作系统上测试通过。
运行效果图:
摘自张建波专栏
补充:软件开发 , 其他 ,