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键,然后搜索"任务计划程序"。

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

相关推荐
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB5 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode6 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220707 天前
如何搭建本地yum源(上)
运维
大树8810 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠10 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质10 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务