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

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

相关推荐
JY.yuyu6 分钟前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
lpruoyu1 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy1 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑1 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
梦帮科技1 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
酉鬼女又兒2 小时前
每天一个Linux命令_printf
linux·运维·服务器
虾说羊2 小时前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~2 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
大大大反派2 小时前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化
Lois_Luo2 小时前
关闭Win10强制所有应用以管理员身份运行
windows