我是靠谱客的博主 失眠哈密瓜,最近开发中收集的这篇文章主要介绍Windows下SVN备份脚本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一共四个文件,两个方法。一个用svnadmin dump命令,另一个用svnadmin hotcopy命令。文章里的目录请根据自己的实际情况修改

先介绍svnadmin hotcopy命令脚本,一共两个文件,两个文件请放到版本库父目录下(一般为X:Repositories)

simplebackup.bat

@echo 正在备份版本库%1……
@%SVN_HOME%binsvnadmin hotcopy %1 %BACKUP_DIRECTORY%%2
@echo 版本库%1成功备份到了%2!


backup.bat

echo off
rem Subversion 的安装目录
set SVN_HOME=”C:Program Files (x86)VisualSVN Server”
rem 所有版本库的父目录
set SVN_ROOT=E:Repositories
rem 备份的目录
set BACKUP_SVN_ROOT=D:SVNbackup
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%%DATE:~0,10%
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%backup.log
mkdir %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist “%%Iconfsvnserve.conf” %SVN_ROOT%simplebackup.bat “%%~fI” %%~nI
goto end
:checkBack
echo 备份目录%BACKUP_DIRECTORY%已经存在,清空ing。
rd /s /q %BACKUP_DIRECTORY%
goto startBack
:end


因为上文中用了DATE:~0,10命令,所以请自行把电脑的时间格式调成yyyy-MM-dd,否则会造成无法创建文件夹导致备份失败(Windows只能创建2016-02-01这种格式的文件夹)


svnadmin dump方法,两个文件
post-commit.bat放到版本库父目录
deltaBackup.bat放到版本库的hooks文件夹下(每个版本库的hooks文 件夹下都需要放,支持增量备份,丢计划里面就行)

deltaBackup.bat

@echo 正在备份版本库%2……
@%SVN_HOME%binsvnadmin dump %SVN_ROOT%%1 –incremental>%DELTA_BACKUP_SVN_ROOT%%1.dump
@echo 版本库%2成功备份到了%3!


post-commit.bat

@echo echo off
set SVN_HOME=”C:Program Files (x86)VisualSVN Server”
set SVN_ROOT=E:Repositories
set UNIX_SVN_ROOT=E:Repositories
set DELTA_BACKUP_SVN_ROOT=D:SVNbackupSVNIncrementalback
set LOG_FILE=%DELTA_BACKUP_SVN_ROOT%Incrementalbackup.log
echo backup revision %2>>%LOG_FILE%
for /r %SVN_ROOT% %%I in (.) do @if exist “%%Iconfsvnserve.conf” %SVN_ROOT%%%~nIhooksdeltaBackup.bat %%~nI %2
goto end
:end


懒人专用:http://download.csdn.net/detail/qq296015668/9424365

最后

以上就是失眠哈密瓜为你收集整理的Windows下SVN备份脚本的全部内容,希望文章能够帮你解决Windows下SVN备份脚本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部