真正稳妥的P2P文件同步软件——Resilio Sync全攻略
目录:
- 安装Rsync
- 在Ubuntu和Debian上安装Rsync
- 在CentOS和Fedora上安装Rsync
- Rsync命令语法
- Rsync基本用法
- 如何使用Rsync在远程计算机之间同步数据
- 排除文件和目录
- 结论
Rsync是一种快速且通用的命令行实用程序,可通过远程外壳或远程Rsync守护程序在两个位置之间同步文件和文件夹。 它仅通过传输源和目标之间的差异来提供快速的增量文件传输。
Rsync可用于镜像数据,增量备份,在系统之间复制文件,并可替代日常使用的
scp
,
sftp
和
cp
命令。
在本教程中,我们将通过实际示例和最常见的
rsync
选项的详细说明,向您展示如何使用
rsync
。
安装Rsync
rsync
实用程序已预先安装在大多数Linux发行版和macOS上。 您可以通过键入以下内容检查它是否已安装在系统上:
rsync --version
rsync version 3.1.2 protocol version 31
在Ubuntu和Debian上安装Rsync
在CentOS和Fedora上安装Rsync
Rsync命令语法
在开始使用
rsync
命令之前,让我们先回顾一下基本语法。
rsync
实用程序表达式采用以下形式:
Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…
-
OPTION-rsync选项。SRC源目录。DEST目标目录。USER远程用户名。HOST-远程主机名或IP地址。
rsync
提供了许多选项来控制其行为的各个方面。 最广泛使用的选项是:
-
-a,----archive,存档模式,等效于-rlptgoD。 此选项告诉rsync递归同步目录,传输特殊设备和块设备,保留符号链接,修改时间,组,所有权和权限。-z,----compress。 此选项将强制rsync在将数据发送到目标计算机时对其进行压缩。 仅当与远程计算机的连接速度较慢时才使用此选项。-P,相当于--partial --progress。 使用此选项时,rsync将在传输过程中显示进度条,并保留部分传输的文件。 通过慢速或不稳定的网络连接传输大文件时,此功能很有用。--delete。 使用此选项时,rsync将从目标位置删除无关的文件。 这对于镜像很有用。-q,----quiet。 如果要禁止显示非错误消息,请使用此选项。-e。 此选项使您可以选择其他远程外壳程序。 默认情况下,rsync配置为使用ssh。
Rsync基本用法
要将单个文件从一个文件复制到另一个本地位置,请运行以下命令:
rsync -a /opt/filename.zip /tmp/

运行该命令的用户必须对目标位置具有读取权限,而对目标具有写入权限。
从目标位置省略文件名将复制具有当前名称的文件。 如果要使用其他名称保存文件,请在目标部分指定新名称:
rsync -a /opt/filename.zip /tmp/newfilename.zip
在下面的示例中,我们正在创建网站文件的本地备份:
rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/
如果目标目录不存在,则
rsync
将创建它。
值得一提的是,
rsync
对源目录以斜杠
/
不同的处理。 如果在源目录上添加斜杠,它将仅将目录的内容复制到目标目录。 当省略斜杠后,
rsync
会将源目录复制到目标目录中。
如何使用Rsync在远程计算机之间同步数据
使用
rsync
进行远程传输时,必须将其同时安装在源计算机和目标计算机上。 新版本的
rsync
已配置为使用SSH作为默认远程Shell。
在以下示例中,我们将目录从本地转移到远程计算机:
rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/
如果尚未设置无密码的SSH登录到远程计算机,则将要求您输入用户密码。
如果要将数据从远程传输到本地计算机,则需要使用远程位置作为源:
rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/
如果远程主机上的SSH正在侦听默认端口22以外的端口,则可以使用
-e
选项指定端口:
rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/
当传输大量数据时,建议在屏幕会话中运行
rsync
命令或使用
-P
选项:
rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/
排除文件和目录
当排除文件或目录时,您需要使用它们到源位置的相对路径。
有两个选项可以排除文件和目录。 第一种选择是使用
--exclude
参数,并在命令行上指定要排除的文件和目录。
在以下示例中,我们排除了
node_modules
内部的
src_directory
和
tmp
目录:
rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/
第二个选项是使用
--exclude-from
参数,并指定要排除在文件中的文件和目录。
rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
/exclude-file.txt
结论
在本教程中,您学习了如何使用Rsync复制和同步文件和目录。 在“ Rsync用户手册”页面上,还有许多关于Rsync的知识。
如有任何疑问,请随时发表评论。
rsync终端






