Rsync,代表“remote sync”,它是本地和远程主机文件同步工具。它只同步更改的文件,以此实现最小化传输数据。 我使用Ubuntu 16.04做为例子,但是你可以把它应用到任何其它主流的Linux发型版。
基本语法 rsync命令和ssh,scp命令有点相似。 我们创建两个测试目录和一些文件: $ mkdir dir1 $ mkdir dir2 $ touch dir1/somefile{1..100}
dir1中有100文件,dir2中为空。使用rsync把dir1内容同步到dir2: $ rsync -r dir1/ dir2 -r选项代表递归,在同步目录时使用。 你也可以使用-a选项,代表同步所有,包括修改时间、群组、权限、特殊文件、也包括递归。 $ rsync -anv dir1/ dir2 注意上面的dir1/中的“/”不能少,它代表同步目录下文件, 如果没有“/” 代表同步这个目录。
和远程主机进行同步目录 首先,你要确保有远程主机的SSH访问权限。 把本地目录同步到远程主机: $ rsync -a dir1/ root@linux:~/dir2 把远程主机目录同步到本地: $ rsync -a root@linux:~/dir2/ dir1
rsync有用的选项 -z选项,压缩传输的文件: $ rsync -az source dest -P选项非常有用,它是-progress和-partial的组合。第一个选项是用来显示传输进度条,第二个选项允许断点续传和增量传输: $ rsync -azP source dest |