标题: 10元求批处理脚本根据日期全量备份或增量备份 [打印本页]
作者: sj180 时间: 2019-12-18 14:05 标题: 10元求批处理脚本根据日期全量备份或增量备份
10元求批处理脚本(微信转账,有意请联系微信525245456)),12月20日前有效。
操作系统为win2003,
判断当前日期,如果是1号和15号,执行如下
rsync -vzrtopg --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/日期1 注:“日期1”为当前日期,格式为年月日。
判断当前日期,如果是是后续日期,即(2号至14号,16号至当月最后一天),执行如下
rsync -vzrtopgu --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/日期2/increment/日期3 注:“日期2”和“日期3”格式为年月日,“日期2”为脚本前一步执行时的日期,“日期3”为当天日期。
作者: zaqmlp 时间: 2019-12-18 14:20
本帖最后由 zaqmlp 于 2019-12-18 15:43 编辑
- @echo off
- set info=互助互利,支付宝扫码头像,感谢打赏
- cd /d "%~dp0"
- >"%tmp%\v.v" echo;d=date:WSH.echo right(year(d),4) ^& right("0" ^& month(d),2) ^& right("0" ^& day(d),2)
- for /f "delims=" %%a in ('cscript -nologo -e:vbscript "%tmp%\v.v"') do (set d1=%%a)
- set /a d=1%d1:~-2%-100
- echo;d1=%d1%
- if %d% leq 14 (set d2=%d1:~,6%01)
- if %d% geq 16 (set d2=%d1:~,6%15)
- echo;d2=%d2%
- echo;d=%d%
- echo;%d%|>nul findstr "^1$ ^15$"&&(
- "C:\Program Files\cwRsync\bin\rsync.exe" -vzrtopg --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%d1%
- )||(
- "C:\Program Files\cwRsync\bin\rsync.exe" -vzrtopgu --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%d2%/increment/%d1%
- )
- :end
- echo;%info%
- pause
- exit
复制代码
作者: coolee2020 时间: 2019-12-18 15:27
本帖最后由 coolee2020 于 2019-12-18 15:32 编辑
- @rem 获取当前的日期以及格式化的日期
- @set Lday=%date:~0,4%%date:~5,2%%date:~8,2%
- @set sday=%date:~8,2%
- @set LastDay1=%date:~0,4%%date:~5,2%01
- @set LastDay2=%date:~0,4%%date:~5,2%15
-
- @rem 1号和15号执行第一步
- @if %sday%==1 goto yesdo
- @if %sday%==15 goto yesdo
-
- goto nodo
-
- :yesdo
- rsync -vzrtopg --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%Lday%
- @exit
-
- :nodo
-
- @rem 16-31号执行nextdo1
- @if %sday% GTR 15 goto nextdo1
-
- @rem 16-31号执行nextdo2
- @if %sday% LSS 15 goto nextdo2
-
- :nextdo1
- rsync -vzrtopgu --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%LastDay2%/increment/%Lday%
-
- @exit
-
- :nextdo2
- rsync -vzrtopgu --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%LastDay1%/increment/%Lday%
-
- @exit
复制代码
作者: sj180 时间: 2019-12-18 16:33
我再补充一下,1号和15号执行的是全备,其他日期执行增量备份。增量备份保存在对于全备的文件夹下,例如16号保存在20191215/increment/20191216
作者: Batcher 时间: 2019-12-18 21:23
回复 1# sj180
这句话怎么理解,脚本应该什么逻辑或条件来判断前一步执行时的日期?请举几个实际的例子说明一下吧
作者: netbenton 时间: 2019-12-18 22:58
本帖最后由 netbenton 于 2019-12-18 23:26 编辑
- @echo off
- set td=%date:/=%
- set td=%td:~0,8%
- set dd=%td:~6,2%
- set od=none
-
- if exist old_tmp.bat call old_tmp.bat
-
- set t=n
- if [%dd%]==[01] set t=t
- if [%dd%]==[15] set t=t
-
- if [%t%]==[t] (
- echo;正在进行全量备份……
- rsync -vzrtopg --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%td%
- echo;@set od=%td%>old_tmp.bat
- ) else (
- if not [%od%]==[none] (
- echo;正在进行增量备份……
- rsync -vzrtopgu --port 28950 --progress /cygdrive/f/codefile 172.16.0.12::BPMDEVServercodefile/%od%/increment/%td%
- ) else (
- echo;出错!还没全量备份过!
- goto :end
- )
- )
- echo;执行成功!
-
- :end
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |