Windows下的SVN備份

2021-08-30 10:26:22 字數 1604 閱讀 8706

1、完全備份指令碼:

檔名backup.bat:

echo off

rem subversion的安裝目錄

set svn_home="c:\program files\visualsvn server"

rem 所有版本庫的父目錄

set svn_root=d:\svn //庫目錄

rem 備份的目錄

set backup_svn_root=目的地(如:\\192.168.0.1\svnbak)

set backup_directory=%backup_svn_root%\%date:~0,10%

if exist %backup_directory% goto checkback

echo 建立備份目錄%backup_directory%>>%svn_root%/backup.log

md %backup_directory%

rem 驗證目錄是否為版本庫,如果是則取出名稱備份

for /r %svn_root% %%i in (.) do @if exist "%%i\conf\svnserve.conf" %svn_root%\******backup.bat "%%~fi" %%~ni

goto end

:checkback

echo 備份目錄%backup_directory%已經存在,請清空。

goto end

:end

另乙個檔案:******backup.bat

@echo 正在備份版本庫%1......

@%svn_home%\bin\svnadmin hotcopy %1 %backup_directory%\%2

@echo 版本庫%1成功備份到了%2!

以上是完全備份的指令碼,只要把******backup.bat 拷到庫目錄底下即可使用。

2、增量備份指令碼:

檔名命名為:post-commit.bat,放到hooks下即可,

echo off

set svn_home="c:\program files\visualsvn server"

set svn_root=d:\svn

set delta_backup_svn_root=d:\delta  //備份存放目錄,一定要存在

set log_file=%1\backup.log

echo backup revision %2 >> %log_file%

for /r %svn_root% %%i in (.) do %svn_root%\庫名\hooks\deltabackup.bat  庫名 %2

goto end

:end

deltabackup.bat

@echo 正在備份版本庫%1......

%svn_home%\bin\svnadmin dump %svn_root%\%1 --incremental --revision %2 >> %delta_backup_svn_root%\%1.dmp

@echo 版本庫%1成功備份到了%2!

將以上兩個檔案:post-commit.bat和deltabackup.bat放到hooks下就可以直接使用。

注:紅色字要根據實際情況來更改。

懶人指令碼 Windows下SVN備份指令碼

用法 svnadmin dump repos path r lower upper incremental svnadmin dump命令用於匯出整個repository或repository下的某個範圍的修訂版本。repos path是版本庫的路徑,r lower upper 用於指定匯出的修訂版...

svn備份 linux備份到windows

svn備份 linux備份到windows 1.先搭建svn伺服器 參考 搭建好之後遇到乙個問題 tortoisesvn訪問svn 可以訪問到,但是svn svnrepos訪問不到 執行svnsync init svn svnrepos svn 會提示svnsync e000022 session ...

Linux 下的svn自動備份

利用svnadmin hotcopy可以實現完全備份,但不能進行增量備份。svnadmin hotcopy是將整個庫都 熱 拷貝乙份出來,包括庫的鉤子指令碼 配置檔案等 任何時候執行這個指令碼都得到乙個版本庫的安全拷貝,不管是否有其他程序正在使用版本庫。優點是 備份過程較快,災難恢復也很快 如果備份...