svn文件定时全量备份

在win11操作系统中,使用定时任务+脚本的方式实现对SVN文件的定时备份

SVN备份脚本

1 创建脚本simpleBackup.bat

该脚本主要用于实现备份过程的信息展示

bash 复制代码
@echo 正在备份版本库%1......   
@md %BACKUP_DIRECTORY%\%2 
@%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2  
@echo 版本库%1成功备份到了%2!	

2. 创建脚本 backup.bat

主要用来实现备份操作

bash 复制代码
cho off
::设置SVN的安装路径
set SVN_HOME="C:\Program Files\VisualSVN Server"
::设置SVN仓库的路径
set SVN_ROOT=F:\CodeRepositories
::设置备份仓库的路径
set BACKUP_SVN_ROOT=I:\SvnBak
::获取日期格式:年月日_时分秒毫秒,以此来命名备份文件
set TIME_DIR=%date:~,4%%date:~5,2%%date:~8,2%_%time:~,2%%time:~3,2%%time:~6,2%%time:~9,2%
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%TIME_DIR%
if exist %BACKUP_DIRECTORY% goto checkBack  
echo %date:~0,10% %time:~0,-3% : 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log

md %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份  
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" call %SVN_ROOT%\simpleBackup.bat "%%~fI" %%~nI  
rem 以下是压缩文件使用
rem echo start zip donot stop  
rem %SVN_ROOT%\7z.exe a -tzip %BACKUP_SVN_ROOT%\%date:~0,10%.zip %BACKUP_DIRECTORY%\* -r >nul 
rem echo zip finished  
rem 清除临时创建备份目录  
rem cd %BACKUP_SVN_ROOT%
rem rd/s/q %BACKUP_DIRECTORY%  
rem del %date:~0,10%.zip%  /s/q
goto end
:checkBack  
echo backupfile %BACKUP_DIRECTORY%already exist,must clean。
goto end
:end
::pause

3 双击backup.bat文件进行测试,看是否能够执行成功

正常情况下,所设置的备份文件夹中(本例中为BACKUP_SVN_ROOT=I:\SvnBak)会出现以日期命名的文件夹。脚本设置成功。

设置定时任务

具体设置方式可参考https://blog.csdn.net/weixin_39688581/article/details/140987490?spm=1001.2014.3001.5502文中的第二节的2\~9小节。

区别是打开"任务计划程序"窗口的位置不同,win11可按下键盘上的win键,然后搜索"任务计划程序"。

备份频率可设置为每月备份一次。

相关推荐
太空的旅行者34 分钟前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
九章云极AladdinEdu2 小时前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
人工智能训练师3 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
研华嵌入式4 小时前
如何在高通跃龙QCS6490 Arm架构上使用Windows 11 IoT企业版?
arm开发·windows·嵌入式硬件
Tisfy4 小时前
服务器 - 从一台服务器切换至另一台服务器(损失数十条访客记录)
运维·服务器
qq_264220895 小时前
Nginx优化与 SSL/TLS配置
运维·nginx
Aspiresky6 小时前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
全栈工程师修炼指南6 小时前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
ajassi20007 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
matlab的学徒7 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat