参考 DigitalOcean
安装
For Debian/Ubuntu:
1 | sudo apt-get install rsync |
For Redhat/Fedora:
1 | sudo yum install rsync |
本地同步
把 dir1
内的文件 同步到 dir2
:
1 | rsync -anv dir1/ dir2 |
上面斜杠 /
表示同步 dir1
内部的文件而不是 dir1
这个文件夹,去掉 /
会导致整个 dir1
文件夹同步到 dir2/
下,也就是 dir2/dir1
。
参数 a
表示 all
,参数 v
表示 verbose
,参数 n
表示 dry run
。
远程同步
本地同步到远程服务器:
1 | rsync -av /path/to/local_dir username@remote_host:/path/to/destination_directory |
远程服务器同步到本地:
1 | rsync -av username@remote_host:/path/to/remote_dir path/to/local_directory |
一些有用的参数
同步过程中进行压缩以加快同步速度 -z
:
1 | rsync -az source destination |
显示传播进度条 -P
:
1 | rsync -azP source destination |
进度显示如下:
1 | sending incremental file list |
过滤不需要同步的文件 --exclude=
:
1 | rsync -a --exclude=pattern_to_exclude source destination |
删除目标文件:
1 | rsync -a --delete source destination |
过滤中包含回需要的文件 --include=
:
1 | rsync -a --exclude=pattern_to_exclude --include=pattern_to_include source destination |