如何使用rsync在linux上备份数据

rsync是为类Unix系统构建的协议,它为备份和同步数据提供了难以置信的多功能性。它可以在本地用于将文件备份到不同的目录,也可以配置为通过Internet同步到其他主机。...

如何使用rsync在linux上备份数据

rsync是为类Unix系统构建的协议,它为备份和同步数据提供了难以置信的多功能性。它可以在本地用于将文件备份到不同的目录,也可以配置为通过Internet同步到其他主机。

它可以在Windows系统上使用,但只能通过各种端口(如Cygwin)使用,因此在本指南中,我们将讨论如何在Linux上设置它。首先,我们需要安装/更新rsync客户机。在Red Hat发行版上,命令是“yum install rsync”,在Debian上是“sudo apt get install rsync”

如何使用rsync在linux上备份数据 The command on Red Hat/CentOS, after logging in as root (note that some recent distributi*** of Red Hat support the sudo method).

如何使用rsync在linux上备份数据 The command on Debian/Ubuntu.

对本地备份使用rsync

在本教程的第一部分中,我们将把文件从Directory1备份到Directory2。这两个目录都在同一个硬盘驱动器上,但如果目录存在于两个不同的驱动器上,则工作原理完全相同。根据您要配置的备份类型,我们可以采用几种不同的方法来实现这一点。对于大多数情况,以下代码行就足够了:

$ rsync -av --delete /Directory1/ /Directory2/

上面的代码将Directory1的内容同步到Directory2,并且两者之间没有区别。如果rsync发现Directory2有一个Directory1没有的文件,它将删除它。如果rsync发现一个在Directory1中被更改、创建或删除的文件,它会将这些更改反映到Directory2中。

rsync有许多不同的开关,您可以使用它们来根据您的特定需要对其进行个性化设置。下面是前面提到的代码告诉rsync如何处理备份:

1-a=递归(递归到目录中)、链接(将symlinks复制为symlinks)、perms(保留权限)、times(保留修改次数)、group(保留组)、owner(保留所有者)、preserve device files和preserve special files.2。-v=冗长。我认为详细信息很重要的原因是,您可以确切地看到rsync正在备份什么。想想看:如果你的硬盘坏了,开始在你不知情的情况下删除文件,然后你运行rsync脚本,它会将这些更改推送到你的备份中,从而删除你不想删除的文件的所有实例?三。–delete=这告诉rsync删除Directory2中不在Directory1中的任何文件。如果您选择使用此选项,出于上述原因,我建议您也使用详细选项。

使用上面的脚本,下面是使用rsync将Directory1备份到Directory2时生成的输出。请注意,如果没有verbose开关,您将不会收到如此详细的信息。

如何使用rsync在linux上备份数据

上面的屏幕截图告诉我们,File1.txt和File2.jpg被检测为是新的,或者与Directory2中存在的副本不同,因此它们被备份了。Noob提示:注意rsync命令中目录末尾的斜杠–这些是必需的,一定要记住它们。

在本教程的最后,我们将介绍一些更方便的开关,但请记住,要查看完整的列表,您可以键入“manrsync”并查看要使用的开关的完整列表。

就本地备份而言,这就涵盖了这一点。可以看出,rsync非常容易使用。当使用它通过Internet与外部主机同步数据时,会变得稍微复杂一些,但我们将向您展示一种简单、快速和安全的方法。

使用rsync进行外部备份

rsync可以用几种不同的方式配置用于外部备份,但是我们将讨论通过SSH隧道rsync的最实用(也是最简单和最安全的)方法。大多数服务器甚至许多客户机都已经有了SSH,它可以用于rsync备份。我们将向您展示让一台Linux机器在本地网络上备份到另一台机器的过程。如果有一台主机在internet上的某个地方,这个过程是完全相同的,只需注意端口22(或者您配置了SSH的任何端口)需要在服务器端的任何网络设备上转发。

在服务器(将接收备份的计算机)上,确保安装了SSH和rsync。

# yum -y install ssh rsync

# sudo apt-get install ssh rsync

除了在服务器上安装SSH和rsync之外,真正需要做的就是在服务器上设置要备份文件的存储库,并确保SSH被锁定。确保您计划使用的用户有一个复杂的密码,切换SSH侦听的端口也是一个好主意(默认值为22)。

我们将运行与在本地计算机上使用rsync相同的命令,但包括通过SSH将rsync隧道传输到本地网络上的服务器所需的附加命令。对于用户“geek”连接到“192.168.235.137”并使用与上述相同的开关(-av–delete),我们将运行以下操作:

$ rsync -av –delete -e ssh /Directory1/ [email protected]:/Directory2/

如果SSH侦听的端口不是22,则需要指定端口号,例如在本例中,我使用端口12345:

$ rsync -av –delete -e 'ssh -p 12345' /Directory1/ [email protected]:/Directory2/

如何使用rsync在linux上备份数据

从上面的屏幕截图可以看出,跨网络备份时给出的输出与本地备份时的输出几乎相同,唯一更改的是您使用的命令。还请注意,它提示输入密码。这是用SSH进行身份验证。您可以设置RSA密钥以跳过此过程,这也将简化rsync的自动化。

自动化rsync备份

Cron可以在Linux上用来自动执行命令,比如rsync。使用Cron,我们可以让Linux系统每夜运行一次备份,也可以让它们以您希望的频率运行。

要编辑作为登录用户的cron表文件,请运行:

$ crontab -e

您需要熟悉vi才能编辑此文件。为insert键入“I”,然后开始编辑cron表文件。

Cron使用以下语法:minute of the hour,hour of the day,day of the month,month of the year,day of the week,command。

一开始可能会有点混乱,所以让我给你举个例子。以下命令将在每晚10点运行rsync命令:

0 22 * * * rsync -av --delete /Directory1/ /Directory2/

第一个“0”指定一小时的分钟,“22”指定晚上10点。因为我们希望这个命令每天运行,所以我们将用星号保留其余字段,然后粘贴rsync命令。

配置完Cron后,按escape,然后键入“:wq”(不带引号)并按enter。这将保存vi中的更改。

Cron可以获得比这更深入的内容,但是继续讨论它将超出本教程的范围。大多数人只需要一个简单的每周或每天的备份,我们已经向您展示了可以很容易地做到这一点。有关Cron的更多信息,请参阅手册页。

其他有用功能

您可以做的另一件有用的事情是将备份放入zip文件中。您需要指定zip文件的存放位置,然后将该目录重新同步到备份目录。例如:

$ zip /ZippedFiles/archive.zip /Directory1/ && rsync -av --delete /ZippedFiles/ /Directory2/

如何使用rsync在linux上备份数据

上面的命令从Directory1获取文件,将它们放入/ZippedFiles/存档.zip然后将该目录重新同步到Directory2。一开始,您可能会认为这种方法对于大型备份来说效率低下,因为每次对文件进行最细微的更改时,zip文件都会发生更改。但是,rsync只传输更改的数据,因此如果您的zip文件是10gb,然后您将一个文本文件添加到Directory1,rsync将知道您添加的全部内容(即使它在zip中),并且只传输几千字节的更改数据。

有几种不同的方法可以加密rsync备份。最简单的方法是在硬盘本身(您的文件备份到的硬盘)上安装加密。另一种方法是在将文件发送到远程服务器(或其他硬盘驱动器,无论您备份到什么地方)之前对其进行加密。我们将在后面的文章中介绍这些方法。

无论您选择什么选项和功能,rsync都是迄今为止最有效、最通用的备份工具之一,即使是一个简单的rsync脚本也可以帮助您避免丢失数据。

  • 发表于 2021-04-12 02:34
  • 阅读 ( 143 )
  • 分类:互联网

你可能感兴趣的文章

linux上应该有5个安全工具

...bles相比,iptables需要更复杂的工作。您需要知道应用程序如何连接到internet,并基于此限制它们。 ...

  • 发布于 2021-03-15 01:11
  • 阅读 ( 192 )

优化linux系统备份的6个应用程序和技巧

...。但它可能不会设置为备份系统的所有重要部分。此外,使用默认工具可能会导致备份比需要的更大、效率更低。 ...

  • 发布于 2021-03-15 01:53
  • 阅读 ( 206 )

使用rsync备份数据(无需桌面)

... 我们在过去已经讨论过Grsync,但是知道如何使用为它提供动力的工具(即rsync)可以证明是一项有价值的资产。希望本文将向您演示在没有图形化后端的情况下使用rsync是一项相当简单的任务。 ...

  • 发布于 2021-03-16 12:17
  • 阅读 ( 167 )

2018年最受欢迎的10款linux应用程序和发行版

...。对于一个新来的人来说,最主要的抱怨就是他们不知道如何关闭它。 ...

  • 发布于 2021-03-25 18:09
  • 阅读 ( 225 )

如何使用crontab自动化linux中的重复任务

... 在这里,您将了解什么是crontab,如何添加自动化作业,以及一些实际示例。 ...

  • 发布于 2021-03-28 04:45
  • 阅读 ( 207 )

使用rsync自动将文件备份到远程服务器

...几率现在大大降低了。在本文中,您了解了rsync是什么,如何生成和安装SSH密钥,如何在~./.SSH/config文件中定义服务器,如何同步本地和远程目录,以及如何通过crontab自动化整个过程。今后,所有必需的文件将始终与远程服务器...

  • 发布于 2021-03-28 09:36
  • 阅读 ( 230 )

如何备份linux系统

... Ctrl+O将把更改写入文件,Ctrl+X将关闭nano编辑器。 相关:如何在Linux上调度任务:Crontab文件简介 在rsync上摆出友好的面孔 对命令行不太熟悉的人可以使用在rsync上放置图形用户界面(GUI)的许多程序中的一个。两个很好的例子是...

  • 发布于 2021-04-03 09:19
  • 阅读 ( 201 )

用rsync同步数据的非初学者指南

...文中,我们将展示即使是最大的数据囤积者和备份爱好者如何将rsync作为一个单一的解决方案来满足他们所有的数据冗余需求。 警告:仅限高级极客 如果你坐在那里想“rsync到底是什么?”?“或者“我只在非常简单的任务中...

  • 发布于 2021-04-11 11:39
  • 阅读 ( 161 )

如何在计算机之间同步文件而不将其存储在云中

所以你有多台电脑,你想保持你的文件同步,但你不想存储在别人的服务器上。您将需要一个直接在您的计算机之间同步文件的服务。 有了这样一个服务,你可以同步无限数量的文件,而人们仅仅通过访问服务器上的帐户并通...

  • 发布于 2021-04-11 18:38
  • 阅读 ( 184 )

如何把树莓pi变成低功耗网络存储设备

...耗和网络存储设备的食谱。请继续阅读,我们将向您展示如何设置自己的基于Pi的NAS。 我为什么要这么做? 拥有一个始终在线的网络存储设备的好处是,让您的数据(或备份目标)始终可供网络内外的计算机访问非常方便。在...

  • 发布于 2021-04-12 01:20
  • 阅读 ( 156 )
向风诉说秘密
向风诉说秘密

0 篇文章

相关推荐