rsync 是 Linux 上的一款文件同步工具,他可以以其特有的算法,对两个目录进行本机或跨机器同步。

下载安装

这款十分好用的工具,在 Windows 也可以使用,叫做 cwRsync ,首先需要下载 cwRsync。解压后将 bin 目录下所有文件拷贝至系统 Windows 目录。

使用说明

举例,将a目录文件同步至b目录,本例中的目录使用相对路径。

rsync -av --progress --delete-after --exclude=*.zip a/ b/

讲解:
rsync 本命令行工具。
-av -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD;-v,--verbose 详细模式输出。
--progress 显示传输过程。
--delete-after 传输完成后删除。
--exclude 跳过文件或目录。
a/ 源目录, b/ 目标目录。这里可以使用相对路径,也可以使用绝对路径。

第一次同步时会同步所有文件,以后每次同步只会同步有差异的文件。

跨磁盘同步

因为这是从Linux移植过来的工具,跨磁盘同步时,目录写法与windows常规写法不同。

例如:c盘,应该以这样的格式 /cygdirve/c/,c盘下的abc目录,应该这样写 /cygdirve/c/abc/

使用批处理

我们可以创建一个批处理文件来同步,这样每次同步的时候只要点击一下批处理文件就可以执行了。

下面是一个例子。

@echo off
echo.
echo 开始同步……
rsync -av --progress --delete-after --exclude=.svn --exclude=*.swp --exclude=*.bak --exclude=*.zip --exclude=*.rar --exclude=*.gz --exclude=*.xz --exclude=*.bz2 --exclude=Thumbs.db --exclude=README.me a/ b/
echo.
echo 同步完毕!
echo.
echo.

pause