无论是管理员还是普通用户,您很可能需要创建文件的定期备份或在多个系统之间同步它们。如果这个任务每次都需要覆盖所有文件,那对你来说将是耗时且烦人的;这就是 Linux Rsync 到远程服务器工具可以帮助您的地方。本指南将让您熟悉最有用的 Rsync 命令,使您能够使用其快速、安全的功能。
什么是 Rsync 实用程序?
远程同步(Rsync) 是一个著名的 Linux/Unix 命令,可用于通过远程访问或本地复制和同步文件和目录。使用 Rsync 命令可以执行各种与数据相关的任务,例如同步、复制和获取备份。此外,您还可以将您的 Linux 系统镜像到另一系统。
使用 Rsync 到远程服务器的主要思想是利用其快速文件传输的优势;为了在两个源之间转换数据,它只考虑它们之间的差异。换句话说,使用 Rsync 命令将帮助您避免盲目数据传输而损失时间,因为它只考虑了两个 Linux 系统之间的差异。
为什么使用 Rsync?
您可能已经知道,可以使用各种备份工具。问题是,与其他实用程序或命令相比,Rsync 工具有何独特之处?
例如,您可以使用 文件传输协议 (FTP) 拥有您网站的本地副本或 SCP(安全复制协议) 为了这个任务。然而,这两者都有缺点。 FTP不包括数据加密,这不是我们所希望的,尽管SCP没有像FTP那样存在未加密传输的问题,但由于它建立了隧道,因此传输仍然需要更多时间。
因此,作为这些问题的替代解决方案,我们可以使用 Rsync 到远程服务器并进行基于密钥的加密(简称为 Rsync SSH 或 Rsync over SSH),这可以防止发送重复的数据并利用 SSH 密钥。您还应该注意,Rsync 采用压缩和解压缩来接收和发送数据,从而减少带宽使用。
如何安装Rsync?
您的系统上可能已经安装了 Rsync;尽管如此,让我们详细了解一下。在此之前,请注意源系统和目标系统中必须已安装 SSH,因为我们要通过 SSH 使用 Rsync。
第1步:检查SSH版本
您可以使用以下命令检查 SSH 的版本:
ssh -V
要 Rsync 到远程服务器,您需要有本地服务器(也称为源)和远程服务器。您还应该确保本地服务器具有管理权限 (sudo)。
第2步:安装Rsync Linux
以下命令将使您能够在 Ubuntu、Linux Mint 和 Debian 上安装 Rsync:
sudo apt install rsync -y
如果您使用其他 Linux 发行版,例如 Fedora、CentOS、AlmaLinux 和 Red Hat,请键入以下命令在系统上安装 Rsync 到远程服务器服务:
sudo dnf install rsync
注意:apt 是一个有用的软件包安装工具,用于基于 Debian 的发行版。
第三步:启动Rsync
您现在需要启动并启用 Rsync 才能通过以下命令开始使用它:
sudo systemctl start rsync
sudo systemctl enable rsync
步骤 4:验证 Rsync 安装
输入以下命令以确保您是否已正确安装 Rsync 并检查您在 Linux 系统上使用的版本:
rsync --version
在下一节中,我们将讨论如何使用该工具的功能通过基于密钥的身份验证进行备份。
如何通过 SSH 使用 Rsync 创建备份?
进行增量备份是基于 SSH 的 Rsync 用例之一。请注意以下命令以了解其工作原理:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
运行上述命令将帮助您同步 源目录 和 目的地目录。此命令包括您应该熟悉的其他选项,例如 -a(存档) 和 -v(详细)。注意 -e ssh 选项要求 Rsync 连接通过 SSH 协议进行。
如果你想要 SSH 连接 要通过默认端口(端口 22)以外的端口接受,您需要在后面提及端口号 -e ssh。 查看以下命令以了解其工作原理。
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
在上面的命令中,我们假设要使用 1998 作为 SSH 端口而不是 22。
通过 SSH Rsync 到远程服务器还有其他非常有用的选项。例如,使用 -部分的 选项使您能够在出现 Rsync 中断等问题时继续之前的部分传输。您还可以通过以下方式了解当前文件传输进度 -进步 选项。另外,Linux Rsync 到远程服务器实用程序使您可以同时使用这两个功能。为此,您可以使用 -p 命令行中的标志。
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
使用键盘命令 Rsync 到远程服务器允许您在将数据传输到目的地之前压缩数据。尽管它会使用您的 CPU 来完成压缩,但它仍然非常有用,因为它使文件传输速度更快并且需要更少的带宽使用。
您可以使用 Rsync 命令复制远程或本地文件和目录。 Rsync 的主要优点是它基于 增量传输算法,这可以防止将重复的数据从源复制到目标。如前所述,如果您想要处理日常备份和系统镜像,Rsync 到远程服务器实用程序的此功能可以帮助您。考虑到这一点,让我们将 Rsync 命令用于本地用例。
如何使用rsync进行本地同步?
在我们深入了解本地同步以及如何使用 Rsync 命令之前,您应该了解本地 Rsync 的一般结构,如下所示:
rsync [options] [Source] [Destination]
本地复制文件
假设我们要从桌面目录(称为 Cloudzy) 到 /主页/公共 文件夹;这是您需要输入的内容:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
上面的 Rsync 命令包括三个选项: -zvh;通过使用 -z,您的文件将在传输过程中被压缩。 v 选项 代表详细输出,并且 选项 是什么帮助我们能够像人类一样读取输出,也就是显示人类可读的输出。
本地复制目录
如果我们想复制桌面目录(称为 Cloudzy) 到 /主页/公共 文件夹;您需要输入以下命令:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
这 -a 此命令中的选项在同步时归档目录和文件。
您可以快速检查目标文件夹的目录列表,以验证该目录是否已复制。为此,请使用以下命令:
ls -ld /home/Public
递归本地同步文件和目录(递归 Rsync)
如果目录中有多个目录和文件怎么办? /桌面/Cloudzy,并且您想通过 Linux Rsync 命令递归复制它们?
在这种情况下,您使用 -r选项 递归同步您的本地文件和目录。您还可以使用 存档选项 (-a) 因为它还有其他用例,例如递归复制。请查看以下命令来熟悉 Rsync 递归命令。
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
将目录和文件从本地系统复制到远程
除了我们在前面几节中提到的 Linux Rsync 到远程服务器的特性之外,这个众所周知的命令还允许将文件和目录从本地计算机同步到远程系统。
假设我们要复制一个文件夹 (/桌面/Cloudzy/newfolder) 从本地机器到远程系统 (与 192.168.1.79) 在下面 /mycpt;这是一个显示其工作原理的示例:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
如何使用 Rsync 复制没有文件的目录?
在某些情况下,我们可能希望使用Linux Rsync到远程服务器的功能来复制没有文件的目录;这种同步可以从远程计算机到本地系统,或者反之亦然。
在本文中,我们一直在使用远程系统 192.168.1.79. 假设我们有它 /mycpt 文件夹并想要复制 /桌面/Cloudzy 来自本地系统的目录,不包括其文件。请输入以下命令来执行此操作:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
其他有用的 Rsync 命令
在这里,我们将讨论一些对您来说实用的其他 Linux Rsync 命令。
确定 Rsync 中文件传输的最大大小
您可以使用 Rsync 命令确定文件传输的限制大小,这在您定期运行 Rsync 到远程服务器和本地计算机(其中带宽和时间是需要考虑的重要因素)时非常有用。请注意以下命令来熟悉设置 Rsync 文件传输的大小限制:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
确定 Rsync 中文件传输的最小大小
就像设置文件传输的最大大小一样,您可以确定要通过 Rsync 传输到远程服务器工具的文件的最小大小。在下面的命令中,我们将最小文件大小设置为 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
同步完成后从源中删除文件
使用完 Rsync 命令后,您可能不再需要在源系统上保留该文件。在这种情况下,您可以使用如下 Linux Rsync 命令从源中删除文件:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
试运行同步
如果您不熟悉 Linux Rsync 实用程序并且不熟悉其选项, 试运行 是一个正确的方法。当您使用 Rsync 进行试运行时,它不会更改文件,但会为您显示命令的输出。确定要运行该命令后,可以删除 – 试运行 从中选择并在终端上执行它。查看以下命令以了解有关试运行功能的更多信息。
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
回顾:使用 Linux Rsync 命令
本文介绍了如何针对各种用例使用 Linux Rsync 到远程服务器(以及 Rsync 到本地服务器)功能,包括 系统镜像、创建文件备份以及使用有效的方法在本地和远程复制文件和目录。这个著名的 Linux 命令使您能够受益于快速文件传输,同时使您能够使用 SSH 和数据压缩。
以最便宜的价格为自己购买经济型或高级 Linux VPS 来托管您的网站或远程桌面。 VPS 在 Linux KVM 上运行以提高效率,并在具有 NVMe SSD 存储的强大硬件上运行以提高速度。
阅读更多您可以通过获取一个来充分利用该操作系统 Linux虚拟专用服务器 Cloudzy 的解决方案,使您能够从基于 KVM 的托管计划中受益。我们自豪地为您提供高性能 VPS 服务,具有 99.95% 的正常运行时间、稳定性、最小延迟、全球数据中心(12 个地点)、超快 SSD 存储和 24/7 技术支持。您可以以 4.95 美元的价格开始使用 Linux VPS,如果您想要更高级的解决方案,还可以扩展它。
常问问题
Rsync 使用哪个 TCP 端口?
SSH 通常使用端口 22 作为默认端口。因此,当通过 SSH 使用 rsync 时,它将在该特定端口上运行。另一方面,当使用 Rsync 守护程序时,将使用端口 873。
什么是 Rsync?
Rsync 是一个 Linux 实用程序,可以远程或本地同步文件和目录。使用 Rsync 命令可以执行各种与数据相关的任务,例如同步、复制和获取备份。