截止到目前为止,手上的项目都纳入SVN进行管理,随着而来的问题是:如何为SVN版本库实现自动备份。我手上用的是VisualSVN工具来代替SVN服务端,但VisualSVN没有提供备份工具,没办法只好自己写一个,再写这个脚本的时候,我参考了SCMLife论坛上某位朋友的脚本文件,并稍做修改,现在贡献出来!
一、前提条件:
- 你的机器上装有VisualSVN,如果没有,也没有关系,只要确保Subversion的安装目录下可以找到svnadmin这个命令即可。因为版本库的备份就是利用这个程序来实现;
- 你的机器上要有7zip的命令行程序7z.exe,如果没有,请去7zip官方网站下载,因为我们要用到这个程序来实现对备份后的版本库进行压缩保存;
- 知道你的版本库所在目录;
- 备份脚本分为两个批处理文件,它们分别是:backup.bat与simpleBackup.bat。需要记住得是:simpleBackup.bat文件要放在版本库所在的目录下;而backup.bat可以任意放置。我们调用的是backup.bat;
- 每次备份成功后,会在版本库所在目录下的backup.log文件中记录;
PS:在编写批处理文件时,我试图创建一个变量,该变量用于保存当前日期,但是不知为何总是不能成功,相关代码如下:
echo off
set filename = %date:~0,4%%date:~5,2%%date:~8,2%
echo 文件名:%filename%
按道理来说,这三句话,没有错误啊,为什么却无法输出变量filename的值,郁闷!
请知道朋友帮忙看一看!