|
|
我要给svn代码库做自动增量备份,全备份已实现,到增量备份时出问题了,请大神帮忙看下:
目录结构:
源目录:D:\Repositories
备份文件目录:D:\svnbackup_day
增量备份脚本代码:
@Echo off
@title backup svn files
Rem 每日增量备份
set temp=%date:~0,4%%date:~5,2%%date:~8,2%
set temp=%temp: =0%
md D:\svnbackup_day\Repositories_backup_%temp%
Rem 获取最新版本信息
for /f "delims=" %%i in ('dir /ad/b "D:\Repositories"') do svnlook youngest D:\Repositories\%%i > D:\svnbackup\tem_version\%%i_tem.txt
Rem android
for /f "tokens=* delims= " %%a in (D:\svnbackup\tem_version\android_tem.txt) do (
set /a youngest=%%a
)
Rem 获取上次备份版本信息,并进行增量备份
for /f "tokens=* delims= " %%b in (D:\svnbackup\version\android_version.txt) do (
set /a old=%%b
)
Rem 进行增量备份
if %youngest% gtr %old% (
svnadmin dump D:\Repositories\android -r %old%:%youngest% --incremental > D:\svnbackup_day\Repositories_backup_%temp%\android.dump
)
Rem 记录最新版本信息
echo %youngest% > D:\svnbackup\version\android_version.txt
。。。。。。。。粗体部分,每个代码库都要这样来一遍
D:\Repositories下有多个代码库,我现在只能一个个备份,有没有办法简化一下这个脚本,我也在网上查了很久,还是一头雾水,越来越混乱,原来想用for循环嵌套,但实际上又解决不了问题,我想是不是思路错了,应该不是用for来处理的,只能求助大神们,帮忙给看下! |
|