在 CentOS 上安装 Rsync 和 Lsync, Fedora 或红帽

您是否曾经需要将文件从本地计算机复制到 Liquid Web VPS 服务器? 您以前可能使用过文件传输协议 (FTP) 应用程序来执行此任务,但 FTP 很容易不安全,并且在命令行上使用可能具有挑战性。 如果有更好的方法呢? 在本教程中,我们将介绍 Linux 世界中两个流行的实用程序以安全地协助文件传输,rsync 和 lsyncd。 我们将在本文中向您展示如何安装和使用两者。 让我们深入挖掘!

什么是 Rsync?

我们将看到的第一个实用程序称为 rsync,这个命令是一个真正的强大! 最简单的是,它用于在文件夹之间复制文件,但它有一些额外的功能使其非常有用。 我们将从 rsync 的最基本用法开始,然后通过更复杂的示例向您展示它的多功能性。

在 CentOS 上安装 Rsync, Fedora,或红帽

如果您使用的是 CentOS, Fedora,或红帽,您可以使用 百胜 要安装的包管理器:

注意:您需要成为“root”用户才能安装软件包!

yum install rsync

在 Ubuntu 或 Debian 上安装 Rsync

如果您使用的是 Ubuntu 或 Debian,则可以使用 apt-get 要安装的包管理器:

注意:您需要成为“root”用户才能安装软件包!

apt-get install rsync

如何使用 Rsync

运行 rsync 的语法如下所示:

rsync -options <source> <destination>

您不需要指定“选项”,但您总是需要告诉 rsync 源和目标。 在这个 example,我们使用 rsync 将“file.txt”复制到“/path/of/destination/”文件夹中:

rsync /path/of/source/file.txt /path/of/destination/file.txt

重要当您运行 rsync 时,请记住始终将“源”放在第一位,然后将“目标”放在第二位!

现在您已经掌握了基础知识,让我们尝试另一个常见任务。 在这个 example,我们将使用 rsync 将目录从本地计算机复制到我们的网络服务器“192.168.0.100”。

rsync -avHl /path/of/source/folder [email protected]:/path/to/destination/folder

请注意,和以前一样,我们首先指定源,然后指定目标。 rsync 的一大优点是它执行数据的远程传输 安全地,通过 SSH。 从安全角度来看,使用 SSH 非常棒,它允许您使用 SSH 密钥来避免输入密码。

作为最后一个 example,让我们尝试将远程服务器“192.168.0.100”中的内容复制到本地计算机。 再一次,rsync 是这项工作的工具!

rsync -avH  [email protected]:/path/of/remote/folder /path/of/destination/folder

最后我们使用了一些特殊的选项 example. 让我们分解它们。

-一种 = 存档模式(包括几个常用选项:-rlptgoD,查看 rsync 手册页了解详细信息。)

-v = 将详细信息打印到屏幕上,(非常有帮助!)

-H = 复制时保留硬链接

rsync 的一大优点是它可以智能地复制文件。 如果只有文件的最后几位发生了变化,rsync 只复制更改,而不是整个文件。 仅传输文件的更改部分可以节省大量时间,尤其是在远程复制文件时,例如最后一次 example.

介绍 Lsyncd

最后,我们将讨论 lsyncd。 实用程序 lsyncd 有点类似于 rsync,因为它用于同步两个文件夹。 与必须手动运行的 rsync 不同,lsyncd 是一个守护进程。 听起来很吓人,但在计算机术语中,守护进程只是作为后台进程运行的应用程序。 您通常不必每次要使用守护程序时都手动运行它们,因为它们通常配置为在服务器启动时自动启动。 正确配置 lsycnd 后,它可以自动在两台计算机之间同步文件夹。 想象一下,如果您不必每次进行小改动时都在 Web 服务器上手动创建网站备份? 这可能是一个真正的节省时间! 让我们深入挖掘。

在 CentOS 上安装 Lsyncd, Fedora,或红帽

如果您使用的是 CentOS, Fedora,或者Red Hat,你可以使用yum包管理器来安装:

注意您需要成为“root”用户才能安装软件包!

yum install lsyncd

在 Ubuntu 或 Debian 上安装 Lsyncd

如果你使用的是 Ubuntu 或 Debian,你可以使用 apt-get 包管理器来安装:

注意您需要成为“root”用户才能安装软件包!

apt-get install lsyncd

如何使用 Lsyncd

与 rsync 不同,lsyncd 作为守护进程运行。 你不直接运行它。 相反,它会在您的服务器启动时自动启动,并在后台静默运行。 这是在您的服务器上同步文件夹的一种很好的自动化方式! 我们需要做的就是配置 lsyncd,这样它就知道要同步哪些文件夹。

首先,我们将创建一些文件和文件夹。

创建配置文件夹位置
mkdir /etc/lsyncd

创建一个文件夹来同步 FROM,随意命名它你想要的
mkdir /source_folder

创建要同步到的文件夹
mkdir /destination_folder

创建日志文件夹位置
mkdir /var/log/lsyncd

制作日志文件
touch /var/log/lsyncd.log

创建状态文件
touch /var/log/lsyncd.status

这是个 example 我们同步教程的文件
touch /source_folder/hello_world.txt

接下来,我们需要配置 lsyncd 以使用我们新创建的文件。 使用您喜欢的 Linux 文本编辑器打开一个新文件进行编辑。

vi /etc/lsyncd/lsyncd.conf.lua

粘贴以下配置,然后保存文件。

settings = {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync {
default.rsync,
source = "/source_folder",
target = "/destination_folder",
}

现在剩下的就是启动程序了! 首先,我们将告诉 lsyncd 在您的服务器启动时自动启动:

systemctl enable lsyncd

接下来,我们将手动启动 lsyncd,(只需执行一次。)

systemctl start lsyncd

我们已成功安装 lsyncd,但最好仔细检查您的工作。 我们将使用以下命令检查它是否正在运行:

systemctl status lsyncd

如果你看到一行写着: 活跃(运行),它运行正常!

最后,我们检查 /destination_folder 的内容以确保它包含我们的“hello_world.txt“ 文件。

ls -l  /destination_folder
total 0
-rw-r--r-- 1 root root 0 Nov 17 07:15 hello_world.txt

你应该看到“hello_world.txt” 已自动同步到“/destination_folder”。 一切正常! 在实践中,您可以设置“/source_folder“ 和 ”/destination_folder”到您需要同步的任何文件夹。

如您所见,这两个实用程序 rsync 和 lsyncd 是在 Linux 中复制文件和文件夹的好工具。 对如何在您的 Liquid Web 网络服务器上使用这些工具有疑问? 联系最有帮助的托管人。 我们随时为您提供帮助,24×7!