< 返回新闻公共列表

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

发布时间:2022-12-09 14:50: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服务器之间传输文件相关步骤,希望能帮助大家参考!


/template/Home/Zkeys724/PC/Static