visualsvn server备份记录
多年前怎么備份的不記得了。好像不是我備份的吧?
現在的小公司,很多同事居然還沒版本的管理的習慣。想想前幾天因為不熟悉git命令,錯誤的執行了clean,丟了幾個頁面,重做一次。真是感慨,膽大也要心細才好~
visualsvn server安裝在某個虛擬機上。之前是打算備份整個虛擬機的。查了一下資料,VMware的備份好復雜的說,不想琢磨了(還得下載相關軟件,得恢復驗證)。考慮到主要的資料就是redmine,以及svn。虛擬機就簡單快照好了,redmine跟svn再手動備份出來到另一塊移動硬盤。虛擬機加了個分區,準備做svn的定時備份。
備份及恢復的腳本參考:https://blog.csdn.net/lnfxcf/article/details/104273156?utm_medium=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control
svn備份腳本
比較了網上查閱的三個備份方案,選擇了svnadmin hotcopy
echo off rem Subversion的安裝目錄 set SVN_HOME="E:\Program Files\VisualSVN Server" rem 所有版本庫的父目錄 set SVN_ROOT=E:\Repositories rem 備份的目錄 set BACKUP_SVN_ROOT=E:\Backup set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,4%_%date:~5,2%_%date:~8,2% 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" .\simpleBackup.bat "%%~fI" %%~nI goto end :checkBack echo 備份目錄%BACKUP_DIRECTORY%已經存在,請清空。 goto end :end此處根據實際的原目錄及備份目標目錄稍作調整即可。在目標目錄中,會創建2020-12-23這樣的日期文件夾
svn恢復腳本
echo off rem Subversion的安裝目錄 set SVN_HOME="C:\Program Files\VisualSVN Server" rem 所有版本庫的父目錄 set SVN_ROOT=D:\Repositories rem 備份的目錄 set BACKUP_SVN_ROOT=D:\data\Repositories rem 驗證目錄是否為版本庫,如果是則取出名稱備份 for /d %%I in (%BACKUP_SVN_ROOT%\*) do .\simpleRecover.bat "%%~fI" %%~nI goto end :end用戶權限
以上博文未提到用戶權限的備份,實際僅備份庫文件,users是空的。查閱了這篇:https://www.jianshu.com/p/e2bc620c4ef5。文章談到,備份庫目錄下的這三個文件即可。
我最早把庫目錄設置在C盤,由于虛擬機空間分配不足,后來增加了磁盤空間,移到了E分區。發現新的庫目錄下,居然少了VisualSVN-GlobalWinAuthz.ini。我把原來的VisualSVN-GlobalWinAuthz.ini拷貝到E分區下的庫目錄,備份出來,再切換目錄驗證,不成功。users還是空的。
嘗試切換到原庫目錄,從users下導出列表為*.txt。把這個txt文件放到庫目錄同級下,重啟visualsvn server,用戶列表以及權限,都正常了。
至此解決了權限備份的問題。
svn定時備份
增量備份策略采取每日晚上9點運行一次。在os中創建計劃腳本運行。
全備份策略采取每周五晚9點運行一次。
總結
以上是生活随笔為你收集整理的visualsvn server备份记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10 wsappx禁用问题
- 下一篇: Proteus绘制8086原理图以及编程