Easy shell script to Backup the whole folder

要对某一个目录进行频繁的备份,我懒,不想每次都将某个目录压缩成zip,然后再把这个zip改名字为ABC_20070101102311.zip,打上年月日时分秒的戳,有没有什么办法可以智能一点儿呢?

如下的方法将介绍如何使用免费的压缩工具zip来实现目录打包备份。
1,zip.exe已经安装在Windows的Path里面了,例如,从http://www.info-zip.org/下载zip.exe放到c:/windows/system32/。 zip.exe required, download from http://info-zip.org
2,把打包的脚本bkzip.cmd也放到Windows的Path里面。
Copy the zip.exe to path, e.g c:/windows/system32.
3,如果有一个目录叫ABC,我们要对它进行备份,于是在ABC的上一级目录,运行bkzip ABC,于是就有一个ABC_xxxx.zip的压缩包出来了,如果想连这一步也写成脚本,那么可以写一个back_abc.cmd,内容为call bkzip abc. If you want to backup a folder named ABC, just execute command "bkzip ABC" or drag drop the folder to bkzip.cmd.

bkzip.cmd的内容如下,
bkzip.cmd
 
 
@echo   off

set  ZERO = 0
set  HH = % TIME :~ 0 , 2 %
set  MM = % TIME :~ 3 , 2 %
set  SS = % TIME :~ 6 , 2 %

set  YYYY = % DATE :~ 0 , 4 %
set  MON = % DATE :~ 5 , 2 %
set  DAY = % DATE :~ 8 , 2 %

rem  if HH GEQ 10 (echo "%HH%>=10") else (echo "%HH%<10")

if  HH GEQ  10   ( goto   :YES )   else   ( goto   :NO )

:YES
set  FN = %YYYY%%MON%%DAY%%HH%%MM%%SS%
goto   :END

:NO
set  HH = % TIME :~ 1 , 1 %
set  FN = %YYYY%%MON%%DAY%%ZERO%%HH%%MM%%SS%
goto   :END


:END
rem  echo %TIME%
rem
 echo %FN%


zip -r -
0   " %1_%FN%.zip "   %1

:EXIT



压缩的时候,使用了-0的压缩比例,目的是为了 You can also change "zip -r -0 ..." to "zip -r -9 ..." for best compress rate
1,快
2,只打包不压缩,将有利于那么将多次的几十个备份打包再一次进行打包压缩的时候。
如果不喜欢只打包不压缩的话,可以去掉这个-0或者修改成-n, n =1~9

这里只介绍了如何使用zip(免费)来做,还可以使用其他的商业压缩软件,这里就不介绍了。

以上功能只在English Windows XP上面试验过,在其他语言环境下,如果差生的时间戳不一样,可以通过Regional and Language Options(Start->Settings->ControlPanel)来调整。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值