免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1825 | 回复: 1
打印 上一主题 下一主题

用批处理命令加WinRAR实现自动备份文件数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-22 16:11 |只看该作者 |倒序浏览
用批处理命令加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做扩展名。

  1. @echo off


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

  7. ::映射 WinRar
  8. path "C:\Program Files\WinRAR"

  9. cls
  10. @echo 自动备份到 %DirName% 路径下
  11. @echo .
  12. @echo .

  13. pause

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


  16. rar a -x*webroot\log\* -x*webroot\uploadfile\* %DirName%\FX_  %Backup% -ag
复制代码
以上代码在windows2003 服务器操作系统上测试通过。

运行效果图:

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2011-11-22 16:34 |只看该作者
我就纳了闷了,你们这样的BAT风格都是从哪里学来的啊,用那么多@是为了过瘾?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP