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

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

相关推荐
Clockwiseee1 小时前
php伪协议
windows·安全·web安全·网络安全
cominglately2 小时前
centos单机部署seata
linux·运维·centos
CircleMouse2 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
Karoku0663 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes
唐宋元明清21883 小时前
.NET 阻止系统睡眠/息屏
windows·电源
木子Linux3 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8243 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
watermelonoops3 小时前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
阿甘知识库4 小时前
宝塔面板跨服务器数据同步教程:双机备份零停机
android·运维·服务器·备份·同步·宝塔面板·建站
saynaihe4 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka