在这里我引述完整的页面,其中包含rdiff进行备份项目的官方网站上公布的例子。 我不排除提供逐步翻译,在未来的日子里,如果天气允许的能力。

rdiff进行备份例子

备份

  • 简单的情况下备份的本地目录foo的本地目录栏。 酒吧最终将foo的副本,它除了将包含目录富/ rdiff进行备份数据,这将使rdiff进行备份,恢复以前的状态。
    rdiff-backup foo bar
  • 简易房屋的远程备份目录/一些/本地目录到目录/不管/的机器hostname.net上的远程目录。 使用SSH必要的,打开管道rdiff进行备份的远程副本。 就像上面除了一个目录是在远程计算机上。
    rdiff-backup /some/local-dir hostname.net::/whatever/remote-dir
  • 这一次是远程源目录和目的地是本地的。 此外,我们已指定的远程主机上的用户名(默认的SSH将尝试登录你的用户名,你必须在本地主机上的考试)。
    rdiff-backup user@hostname.net::/remote-dir local-dir
  • 它甚至有可能是其他机器上的源和目标目录。 也低于大冗长冗长的设置去从0到9与3,默认添加的,V5交换机,和的,打印,统计开关,使一些统计数字,在最后显示(即使没有这个开关,的统计数据仍然会保存rdiff进行备份数据目录中)。
    rdiff-backup -v5 --print-statistics user1@host1::/source-dir user2@host2::/dest-dir

恢复

  • 假设我们已经讨论过运行rdiff进行备份foo的酒吧,随着foo和bar当地。 我们误删除富/ DIR,现在想恢复它从酒吧/ DIR。
    cp -a bar/dir foo/dir这是正确的,rdiff进行备份,因为一面镜子,我们可以检索使用标准命令如cp的文件。
  • 其余部分的例子,我们将假设用户已经命令rdiff进行备份的本地目录host.net :: /远程目录备份。 当然,在所有这些例子中,这将是'同样可以远程备份目录local.In这种情况下,我们不能使用cp复制host.net :: remote-dir/file到本地目录/源文件,因为它们是在不同的机器上。 我们可以得到rdiff进行备份,恢复该文件的当前版本,使用这些::
    rdiff-backup --restore-as-of now host.net::/remote-dir/file local-dir/file
    rdiff-backup -r now host.net::/remote-dir/file local-dir/file
    rdiff-backup --restore-as-of now host.net::/remote-dir/file local-dir/file
    rdiff-backup -r now host.net::/remote-dir/file local-dir/file
    的恢复(或-r短)开关告诉rdiff进行备份,而不是恢复备份,和指示当前时间,现在的选项。
  • 但rdiff进行备份的主要优点是它保持历史版本。 此命令会恢复host.net :: / remote-dir/file为是10天前到一个新位置的/ tmp /文件。
    rdiff-backup -r 10D host.net::/remote-dir/file /tmp/file其他可接受的时间字符串包括5m4s(5分4秒)和2002年3月5日(3月5日,2002年)。 欲了解更多信息,请参阅手册页的“时间格式”部分。
  • 最后,我们可以使用rdiff进行备份来恢复从一个增量文件目录。 增量文件存储在host.net :: / remote-dir/rdiff-backup-data/increments举行修改的文件以前的版本。 如果你直接指定:
    rdiff-backup host.net::/remote-dir/rdiff-backup-data/increments/file.2003-03-05T12:21:41-07:00.diff.gz local-dir/file rdiff进行备份会告诉从文件名,它是一个增量文件rdiff进行备份和恢复,从而进入模式。 以上恢复的版本将被写入local-dir/file。

年长删除文件

rdiff进行备份尝试虽然只存储文件的差异,以节省空间,最终可能耗尽目标目录中的空间。 rdiff进行backup's去除的老模式可以用来删除旧的增量。

本节假定rdiff进行备份已经被用来在过去备份到host.net :: /远程目录,但所有的命令将在当地工作过,如果主机名被省略。

  • 删除所有的命令有关哪些文件没有被当前版本为2个星期:
    rdiff-backup --remove-older-than 2W host.net::/remote-dir ,并没有改变现有的文件为一年的债券将仍然被保留。 但文件已被删除15天前运行此命令后,不能恢复。
  • 由于恢复时,有各种不同的方式指定的时间。 下面的20B告诉rdiff进行备份,只保留从过去的20 rdiff进行备份会话的信息。 (NNB语法后0.13.1版本。)
    rdiff-backup --remove-older-than 20B host.net::/remote-dir

文件选择与包括/排除选项

有时你不想备份所有文件。 不同的-include和exclude选项可以用来选择备份哪些文件。 所有选项及其定义的列表,请参阅手册页。

  • 在这个例子中,我们排除到/ mnt /备份,以避免无限循环。
    rdiff-backup --exclude /mnt/backup / /mnt/backup (其实rdiff进行备份,可以自动检测像上面的简单循环。)这仅仅是一个例子,在现实中,这将是重要的/ proc以及排除。
  • 这个例子是比较现实的。 我们已排除的/ proc,/ tmp目录,/ mnt目录。 / PROC particolare的,不应该进行备份。 此外,源目录恰好是远程。
    rdiff-backup --exclude /tmp --exclude /mnt --exclude /proc user@host.net::/ /backup/host.net
  • 多个包含和排除选项在给他们的顺序优先。 下面的命令将备份的/ usr / / bin中而不是/ usr / bin中。
    rdiff-backup --include /usr/local --exclude /usr / host.net::/backup
  • rdiff进行备份使用类似rsync的通配符,在那里,**和*匹配任何路径/它不匹配任何路径。 因此这个命令:
    rdiff-backup --include /usr/local --include /var --exclude '**' / /backup仅备份的/ usr /本地和/ var目录。 单引号“不rdiff进行备份的一部分,只是由于许多炮弹将扩大**。
  • 这里是比较复杂的例子:
    rdiff-backup --include '**txt' --exclude /usr/local/games --include /usr/local --exclude /usr --exclude /backup --exclude /proc / /backup上面的命令将回达在txt结尾的任何文件,甚至的/ usr /本地/游戏/网球/ scores.txt,因为这包括最高优先。 目录/ usr / local / bin目录的内容将得到备份,但没有/ usr /共享或/ usr /本地/游戏/网球。
  • rdiff进行备份也可以接受的文件列表进行备份。 如果该文件包括列表包含以下两行:
    /var
    /usr/bin/gzip
    /var
    /usr/bin/gzip
    然后这个命令:

    rdiff-backup --include-filelist include-list --exclude '**' / /backup
    只会备份文件的/ var,/ usr和/ usr / bin和/ usr /斌/ GZIP,但没有的/ var / log中的/ usr / bin中/ gunzip文件。 这不同于已知的include选项,因为包括/ var目录也将匹配/ var / log中。
  • 两个相同的文件列表可以包含和排除文件。 如果我们创建包括列表文件包含这些行:
    **txt
    - /usr/local/games
    /usr/local
    - /usr
    - /backup
    - /proc

    然后下面的命令将上述两个复杂的例子完全一样,同样的事情。
    rdiff-backup --include-globbing-filelist include-list / /backup
    上面我们使用包含通配符的文件清单,而不是包括文件清单知道该生产线将被解释,好像他们是在命令行中指定。 否则,例如,** TXT会被认为是一个文件名,而不是一个通配符字符串。

获取有关备份目录的信息

下面的例子假设您已经运行rdiff进行备份目录在过去的出目录。

  • 这个命令发现所有新的或旧的文件frobniz其中包含字符串。
    find out-dir -name '*frobniz*'
    rdiff进行备份不掩盖所有文件名,我经常使用传统工具的工作。
  • 这些等效命令列出了可用的版本的文件out-dir/file的时代。 这可能是有用的,如果你需要恢复的in-dir/file的旧版本,但不知道哪一个。
    rdiff-backup --list-increments out-dir/file
    rdiff-backup -l out-dir/file
  • 下面的命令列出了下out-dir/subdir在过去5天里已更改的所有文件。
    rdiff-backup --list-changed-since 5D out-dir/subdir
  • 此命令将列出在out-dir/subdir目前,5天前的所有文件。 这包括有没有改变,以及最近为那些已经在过去的5天中删除的文件。
    rdiff-backup --list-at-time 5D out-dir/subdir
  • 下面的第一条命令比较文件在当前目录了(这是一个远程计算机上),在目录中的文件,显示哪些已经改变。 第二个命令是相似的,但比较在DIR出目录,因为它是在8月2周
    rdiff-backup --compare in-dir user@host::out-dir
    rdiff-backup --compare-at-time 2W in-dir user@host::out-dir
  • rdiff进行备份写入一个每会话out-dir/rdiff-backup-data统计的文件目录。 不能显示文件的平均计算,平均选项和指定文件使用统计。
    rdiff-backup --calculate-average out-dir/rdiff-backup-data/session_statistics*

其他杂项命令

  • 如果您有连接到远程主机的问题,测试服务器的命令可能是有用的。 此命令只验证工作rdiff进行备份服务器上的远程端。
    rdiff-backup --test-server hostname.net::/ignored
来源: http://rdiff-backup.nongnu.org