【Linux】rsync的相关用途

Rsync,代表“remote sync”,它是本地和远程主机文件同步工具。它只同步更改的文件,以此实现最小化传输数据。

我使用Ubuntu 16.04做为例子,但是你可以把它应用到任何其它主流的Linux发型版。

基本语法

rsync命令和ssh,scp命令有点相似。

我们创建两个测试目录和一些文件:

$ mkdir dir1

$ mkdir dir2

$ touch dir1/somefile{1..100}

使用rsync命令同步本地目录和远程主机目录

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

如果需要通过ssh进行无密钥传输的话可以用-e选项

rsync -avzP -e 'ssh -p 22' /root/test/ root@test~/

在-e后面添加上ssh即可

猜你喜欢

转载自blog.csdn.net/imliuqun123/article/details/81704873