参考 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 |