新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

如何使用rsync在linux服务器之间传输文件?

发布时间:2023-02-01 15:40:54

不管我们是需要在本地复制文件或者将它们传输到远程服务器,可使用rsync(一种文件同步实用程序)来实现。下面,小编就给大家分析下如何使用rsync在linux服务器之间传输文件


如何使用rsync在linux服务器之间传输文件?.png


一、获得rsync

以下命令为 CentOS发行版安装 rsync:sudo yum install rsync

对Debian和Ubuntu:sudo apt-get install rsync

在本地复制文件

要将/source/的内容复制到同一台机器上的/destination/,请运行:rsync --archive --verbose --progress /source/ /destination/

通过使用--archive选项,我们递归地将/source/内容复制到 /destination/目录,包括符号链接、权限、修改时间、所有者、组和文件模式数据。--progress显示传输进程中的进度,-- verbose增加冗杂程度。

如果/destination/目录不存在,将创建它。如果/destination/目录已存在并且包括一些 /source/目录不包括的文件,这些文件将被保存。


二、rsync使用一种算法,通过仅移动已更改的文件部份来最大限度地减少流量。

1、从远程系统复制文件

使用rsync,我们可以依托SSH进行远程数据传输。在开始之前,请确保:

- rsync客户端安装在本地和远程机器上;

-我们可使用“ssh user@remotehost”命令与远程机器建立SSH连接。

要从远程服务器传输文件,请指定远程源目录的完全路径,包括远程主机上的用户名,和本地目录的完全路径:

rsync --archive --verbose --progress user@remotehost:/remote/source/ /local/destination/

在此示例中,我们将远程主机上的/source/目录的内容复制到本地计算机上的/destination/目录,其中履行了rsync命令。根据我们linux服务器上配置的SSH身份验证方法,在履行rsync命令时可能会提示我们输入SSH密码或其他凭据。


2、将文件复制到远程系统

要通过SSH将文件传输到远程服务器,请指定本地源目录的完全路径和远程目录的完全路径,包括远程主机上的用户名:

rsync--archive--verbose--progress/local/source/user@remotehost:/remote/destination/


3、尾部斜杠

当我们指定源目录的路径时,请注意目录名称末尾的尾部斜杠- /符号。结尾的斜杠表示“内容”。例如,如果 /source/上有尾部斜线,rsync 会将/source/的内容复制到/destination/。如果/source上没有尾部斜杠,rsync 将在/destination/上创建一个同名目录,并将/source/的所有内容复制到/destination/source/。相反,/destination/上的尾部斜杠没有任何区分。


4、rsync守护进程

如果我们需要通过专用网络复制大量信息,请斟酌设置rsync守护进程。守护进程的使用消除SSH隧道的开消,但数据未加密传输。


以上就是使用rsync在linux服务器之间传输文件相干步骤,希望能帮助大家参考!