# # dump svn serve on windows(在windows上备份svn数据库) ## # 1.first of all, you need create a svn service on windows by sc.exe. > **usage** > > ```{lang} > 用法: > sc create [service name] [binPath= ] ... > > 选项: > 注意: 选项名称包括等号。 > 等号和值之间需要一个空格。 > type= > (默认 = own) > start= > (默认 = demand) > error= > (默认 = normal) > binPath= <.exe 文件的 BinaryPathName> > group= > tag= > depend= <依存关系(以 / (斜杠)分隔)> > obj= > (默认= LocalSystem) > DisplayName= <显示名称> > password= <密码> > ``` > **some errors** > 问题:Set-Content : 找不到接受实际参数“binpath=”的位置形式参数。解决: 不要使用powersheell,直接使用cmd,在powershell命令行输入cmd回车后进入cmd命令行 > 问题: [SC] OpenSCManager 失败 5: 拒绝访问。解决: 右击开始菜单,以管理员身份进入powershell,然后在通过cmd命令进入到cmd命令行界面 ```{lang} C:\WINDOWS\system32>sc create svn binpath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service -r C:\home\svn" DisplayName= "Subversion Server" depend= Tcpip start= auto [SC] CreateService 成功 ``` ## # 2.use svnrdump to store svn serve > **svnrdump和svnadmin dump的区别** ```{lang} svnrdump dump svn://192.168.1.1/svn > svnexport1.dump --username username --password password ``` ## # 3.use dump file above to restore svn on new svn repository ```{lang} svnrdump load svn://192.168.1.1/newSvn -F svnexport1.dump --username username --password password ``` 自动备份dump到远程文件管理服务器中 ```{lang} @echo off @chcp 936 set local_dir=D:\backup\svn-backup\ set remote_dir=Z:\svn-backup\ set svn_ip=192.168.30.9:3699 set NAMES=utf8 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set now=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2% set outFileName=%now%.dump svnrdump dump svn://%svn_ip% > %local_dir%%outFileName% --username d02 --password 123456 pushd %local_dir% setlocal enabledelayedexpansion set n=0 for /f "delims=" %%a in ('dir /a-d-h /b /o-d *.dump') do ( if !n! geq 7 del "%%~a" set /a n+=1 ) popd copy %local_dir%%outFileName% %remote_dir% pushd %remote_dir% setlocal enabledelayedexpansion set n=0 for /f "delims=" %%a in ('dir /a-d-h /b /o-d *.dump') do ( if !n! geq 7 del "%%~a" set /a n+=1 ) popd pause ``` Loading... # # dump svn serve on windows(在windows上备份svn数据库) ## # 1.first of all, you need create a svn service on windows by sc.exe. > **usage** > > ```{lang} > 用法: > sc <server> create [service name] [binPath= ] <option1> <option2>... > > 选项: > 注意: 选项名称包括等号。 > 等号和值之间需要一个空格。 > type= <own|share|interact|kernel|filesys|rec|userown|usershare> > (默认 = own) > start= <boot|system|auto|demand|disabled|delayed-auto> > (默认 = demand) > error= <normal|severe|critical|ignore> > (默认 = normal) > binPath= <.exe 文件的 BinaryPathName> > group= <LoadOrderGroup> > tag= <yes|no> > depend= <依存关系(以 / (斜杠)分隔)> > obj= <AccountName|ObjectName> > (默认= LocalSystem) > DisplayName= <显示名称> > password= <密码> > ``` > **some errors** > 问题:<code>Set-Content : 找不到接受实际参数“binpath=”的位置形式参数。</code><br/>解决: 不要使用powersheell,直接使用cmd,在powershell命令行输入cmd回车后进入cmd命令行 > 问题: [SC] OpenSCManager 失败 5: 拒绝访问。<br/>解决: 右击开始菜单,以管理员身份进入powershell,然后在通过cmd命令进入到cmd命令行界面 ```{lang} C:\WINDOWS\system32>sc create svn binpath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service -r C:\home\svn" DisplayName= "Subversion Server" depend= Tcpip start= auto [SC] CreateService 成功 ``` ## # 2.use svnrdump to store svn serve > **svnrdump和svnadmin dump的区别** ```{lang} svnrdump dump svn://192.168.1.1/svn > svnexport1.dump --username username --password password ``` ## # 3.use dump file above to restore svn on new svn repository ```{lang} svnrdump load svn://192.168.1.1/newSvn -F svnexport1.dump --username username --password password ``` 自动备份dump到远程文件管理服务器中 ```{lang} @echo off @chcp 936 set local_dir=D:\backup\svn-backup\ set remote_dir=Z:\svn-backup\ set svn_ip=192.168.30.9:3699 set NAMES=utf8 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set now=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2% set outFileName=%now%.dump svnrdump dump svn://%svn_ip% > %local_dir%%outFileName% --username d02 --password 123456 pushd %local_dir% setlocal enabledelayedexpansion set n=0 for /f "delims=" %%a in ('dir /a-d-h /b /o-d *.dump') do ( if !n! geq 7 del "%%~a" set /a n+=1 ) popd copy %local_dir%%outFileName% %remote_dir% pushd %remote_dir% setlocal enabledelayedexpansion set n=0 for /f "delims=" %%a in ('dir /a-d-h /b /o-d *.dump') do ( if !n! geq 7 del "%%~a" set /a n+=1 ) popd pause ``` 最后修改:2025 年 07 月 14 日 © 允许规范转载 赞 别打赏,我怕忍不住购买辣条与续命水