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