大体思路是:
先把 windows 下的 svn 目录导出到一个文件夹中(这样不会有多余的 .svn 目录存在), 然后再通过 winRAR 将这个目录打包成 *.rar 文件, 再然后通过 rsync 命令将这个打包好的文件同步到 服务器.
先介绍一下基本环境.
#windows下相关软件安装目录:
1, linux 下的 rsync 安装可以参考这里:
下可以直接用命令安装:
2, 配置 linux 上的 rsync-server
3, 启动 rsync-server
4, windows 下的 rsync 软件( cwRsync_4.1.0_Installer.zip )可以到这里去下载:
5, 配置 windows 上的 rsync
6, 测试一下将 windows 上 e:/ttt/ 目录下的所有文件及子目录 rsync 到 linux 服务器
说明:
因为在 rsync 命令中冒号:有特殊意义, 所以上面的命令中 E: 盘用 /cygdrive/e 表示.
命令中的 snsgamebak 对应的是 linux 上 /etc/rsyncd/rsyncd.conf 中的 [snsgamebak]
上面的命令会将 e:/ttt/ 目录下的所有文件及子目录同步到 linux 服务器上的 /home/backup/socialgame/ 目录下.
7, 编写 bak_rsync.bat 程序,
实现的功能是将 svn 目录(E:\www\game) 先更新
然后再导出到备份目录(E:\ggg\bak\20110608\), 备份目录是自动生成的.
再调用 winrar 将备份目录压缩成 rar 文件, 并删除掉备份目录
再将 rar 文件 rsync 到 linux 服务器
最后删除本地备份 rar 文件, 并返回主目录
bak_rsync.bat 文件内容如下
8, 将 bak_rsync.bat 加到任务计划中去定期执行.
P.S. 其实还有一个更简单的方法就是直接在 132 那台机器上装上 svn , 直接 checkout windows下的svn-server.