网站搜索

如何使用 rsync 将 Linux 目录备份到远程计算机


使用此 Linux 命令行工具,可以快速灵活地将本地目录备份到 Linux 上的远程计算机上的目录。

Linux 是市场上最灵活的操作系统。借助这个开源平台,您可以做比使用专有操作系统更多的事情,而无需在软件上花费一毛钱。

当您第一次使用 Linux 时,您可能会希望避免使用命令行,因为它可能有点令人畏惧。然而,最终您可能会发现您已经准备好看到您可以从您选择的发行版中获得多少更多的功能和灵活性。您可以做的一件非常方便(且有用)的事情是学习如何借助 rsync 命令将本地目录备份到远程目录。这正是我要向您展示的内容。

准备好?我们开始做吧。

如何使用 rsync 备份 Linux 目录

您需要什么:要完成这项工作,您需要两个 Linux 实例,一个用于本地(包含您要备份的目录),另一个用于远程(您要备份的目录)。会将目录备份到)。您还需要一个在两台计算机上都具有 sudo 权限的用户。最后,您需要知道两台计算机的 IP 地址(可以使用 ip a 命令找到)。我将在两台基于 Ubuntu 的机器上演示这一点。如果您使用的是 Fedora 或基于 Arch 的发行版,您唯一需要更改的是安装命令。

1.在两台机器上安装rsync

首先要做的是安装rsync,可以通过以下命令来实现:

sudo apt-get install rsync -y

2.在远程机器上配置rsync

接下来,我们需要在远程计算机上配置 rsync。使用以下命令创建新的配置文件:

sudo nano /etc/rsyncd.conf

在该文件中,粘贴以下内容:

[backup]
path=REMOTE_DIRECTORY
hosts allow = LOCAL_IP
hosts deny = *
list = true
uid = root
gid = root
read only = false

其中 REMOTE_DIRECTORY 是远程计算机上用于存放备份文件的目录,LOCAL_IP 是本地计算机的 IP 地址。

使用 Ctrl+X 键盘快捷键保存并关闭文件。

使用以下命令启动并启用 rsync:

sudo systemctl enable --now rsync

3. 运行备份

我们现在将测试备份过程。在本地计算机上,您将运行 rsync 命令,如下所示:

rsync -avz LOCAL_DIRECTORY REMOTE_IP::backup

其中 LOCAL_DIRECTORY 是要备份的目录,REMOTE_IP 是远程计算机的 IP 地址。注意 ::backup。 这是我们在远程计算机上的配置文件中使用的备份的名称([backup] 行)。备份应该相当快地运行和完成(除非目录中有大量文件)。

自动备份

正如我所说,Linux 非常灵活。我们可以借助内置 cron 工具来自动化此过程。我们要做的是使用以下命令为备份创建一个 bash 脚本:

nano rsync.sh

在该文件中,键入您之前用于运行备份的相同命令,只是我们将添加 q 选项来抑制输出,因此它看起来像这样:

rsync -avzq LOCAL_DIRECTORY REMOTE_IP::backup

保存并关闭文件。使用以下命令授予文件可执行权限:

chmod u+x rsync.sh

现在,我们将使用以下命令创建一个 cron 作业:

sudo crontab -e

在该文件中,粘贴以下内容:

00 01 * * * /home/USER/rsync.sh

其中 USER 是您的用户名。保存并关闭文件。

您的新 cron 作业将在每天凌晨 1 点运行 rsync 备份,因此您始终拥有该目录的最新备份。

我的朋友们,这就是在 Linux 上创建基本远程备份作业的全部内容。

相关文章