云网牛站
所在位置:首页 > Linux命令 > 使用rsync命令同步本地目录和远程主机目录

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

2017-10-23 20:37:37作者:Linux编辑稿源:topspeedsnail

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

Linux命令子频道
精选文章
热门文章