用批处理命令加WinRAR实现自动备份文件数据
用批处理命令加WinRAR实现自动备份文件数据因为每天都要自动从开发服务器上备份源代码,并且由于开发的源代码中有大量的日志文件(Log)和开发时上传的附件(uploadfile)都巨大,但是这些文件都可以不要,如果用winrar 全部压缩,每天都要耗时1~2个小时。实在是太浪费时间了。
如图: log 、 uploadfile 下,有大量的文件,而这些是不用备份的。
如果用
rar a - F:\bak.rarD:\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 服务器操作系统上测试通过。
运行效果图:
我就纳了闷了,你们这样的BAT风格都是从哪里学来的啊,用那么多@是为了过瘾?
页:
[1]