AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 25329
Accepted
stalepretzel
stalepretzel
Asked: 2009-06-14 13:27:26 +0800 CST2009-06-14 13:27:26 +0800 CST 2009-06-14 13:27:26 +0800 CST

使用 Rsync 备份到外部驱动器

  • 772

我要买一个外置硬盘来备份我家的电脑(终于!!)。我希望使用rsync。我已经看到了一个确实(或似乎确实)我想要的例子。像这样的东西:

rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups

但是,当查看 rsync 文档和示例等时,事情开始看起来比这要复杂得多。网络、守护进程和行话,天哪!

我假设只要我只是从计算机同步到火线连接的外部驱动器,就不需要这些东西。我的假设是错误的吗?事情真的会比那个无害的命令更复杂吗?

backup rsync
  • 12 12 个回答
  • 77307 Views

12 个回答

  • Voted
  1. ericslaw
    2009-06-14T20:13:27+08:002009-06-14T20:13:27+08:00

    我将 rsync 与以下标志一起使用,例如 'glop' 和 'trunc' 和 'v'。

    rsync -gloptrunc $srcdir $dstdir

    简要指南:

    • g - 保留组所有权信息
    • l - 将符号链接复制为符号链接
    • o - 保留所有者信息
    • p - 保留权限
    • t - 保留时间戳
    • r - 通过目录递归
    • u - 更新,跳过任何较新的文件
    • [n] - 不,不要这样做,而是进行试运行
    • c - 校验和,尽可能在文件块上尝试校验和 (*)
      注意:在本地文件系统上,这会被覆盖,而是复制整个文件。
    • v - 详细

    我总是运行上面的命令以确保它工作,然后删除'n'标志,一旦我对结果感到满意。

    上述组合的主要特点:

    • 我在两个(或更多)服务器之间在两个方向上运行它,从而在两个方向上同步。您更新您当时认为是主人的任何人。
    • 它允许任何一方成为主人,但需要注意的是,如果你想删除某些东西,你必须同时删除它以确保它真的消失了,否则它会回来。

    我用它来保持两台机器同步,或者保持子目录同步(比如备份到 USB 驱动器)。

    正如前面提到的其他帖子之一,如果您正在处理本地驱动器,“校验和”实际上可能会被强制关闭。

    在极少数情况下,我不得不添加额外的参数来说明远程机器上登录帐户的更改、更改端口,甚至指定远程主机上“rsync”的位置……但这些并不直接适用于您的问题。

    • 34
  2. Best Answer
    kbyrd
    2009-06-14T13:29:57+08:002009-06-14T13:29:57+08:00

    Rsync 在本地驱动器上运行良好。但是,如果它检测到本地路径,它会自动进入 --whole-file 模式,该模式不会复制差异,而只是将源文件复制到目标文件上。Rsync 仍然会忽略根本没有改变的文件。当源和目标之间的带宽很高时(例如两个本地磁盘),这比读取两个文件然后只复制更改的位要快得多。

    • 12
  3. OldJim
    2009-06-14T13:48:02+08:002009-06-14T13:48:02+08:00

    这些都不是必需的,您可以在没有任何守护程序或任何其他类型的配置的情况下使用 rsync 就可以了!

    只需使用 rsync 命令就可以了。

    • 4
  4. Steve Folly
    2009-06-14T14:13:50+08:002009-06-14T14:13:50+08:00

    从您的 rsync 命令中的路径来看,我认为您使用的是 Mac OS X 是否正确?

    就个人而言,我会选择使用 Time Machine(如果您使用的是 Leopard)或使用 rsync 的 Carbon Copy Cloner( http://www.bombich.com/software/ccc.html )。

    比尝试修改自己的脚本要容易得多。一个优点是 Time Machine 和 CCC 都会为您提供增量备份。

    • 2
  5. Mark
    2009-06-14T17:55:45+08:002009-06-14T17:55:45+08:00

    您使用的示例看起来可以很好地用于备份。

    但是,在使用 rsync 时您可能需要考虑的一件事是使用 --link-dest 选项。这使您可以保留多个备份,但对任何未更改的文件使用硬链接,从而有效地使所有备份占用增量空间。一个示例用法是:

    rsync -aE --link-dest=/mnt/external_disk/backup_20090612 dir_to_backup \
        /mnt/external_disk/backup_20090613
    

    这假设您有一个 6 月 12 日的备份,并且您想在 6 月 13 日创建一个新备份。如果您不想打印每个文件,则可能需要省略 -v 选项。

    • 2
  6. Raman Kathpalia
    2018-03-03T11:47:01+08:002018-03-03T11:47:01+08:00

    你没有提到你的操作系统。假设它基于 *nix 的操作系统,你的命令很好。

    但是,如果一个或两个驱动器恰好是 NTFS 格式,从 *nix 或什至在 Windows 中使用 Mobaxterm/cygwin 访问,那么 rsync 增量功能将无法正常工作rsync -a (archive flag)

    如果涉及 NTFS 驱动器,您可以使用:

    rsync -rvh --size-only --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
    

    下载 Mobaxterm ssh 客户端以在 Windows 上具有 rsync 功能。

    这是有关在 NTFS 驱动器上使用 rsync的更多信息

    • 2
  7. jldugger
    2009-06-14T13:59:55+08:002009-06-14T13:59:55+08:00

    这实际上取决于您是否正在运行数据库。Rsync 将抓取每个文件的快照,并忽略任何干预写入。如果要备份数据库,则应在 rsync 之前设置忽略过滤器并运行 DB 转储工具。

    • 1
  8. Catherine MacInnes
    2009-06-15T11:51:28+08:002009-06-15T11:51:28+08:00

    您编写的命令应该可以工作,但是您可能希望查看一个名为 rsnapshot 的程序,该程序构建在 rsync 之上并保留多个文件版本,因此您可以返回并查看上周或上个月的情况。配置非常简单,并且非常擅长空间优化,因此除非您有很多流失,否则它不会占用比单个备份更多的空间。

    • 1
  9. chmeee
    2009-06-14T14:52:35+08:002009-06-14T14:52:35+08:00

    我尝试使用 rsync 进行备份,但结果一团糟。rsync 更适合“同步”而不是备份。它永远用于比较大文件。

    我进行了一些研究并尝试了几个(基本上从 apt-cache search backup in ubuntu 测试每个人)。

    最后我得到了“ backup2l - 低维护备份/恢复工具”,这很简单。我喜欢它管理计划和轮换(按级别)的方式。每当我从命令行连接 USB 外部驱动器时,我都会运行它,但您也可以自动化它。

    • 0
  10. Michèle
    2009-06-14T15:25:35+08:002009-06-14T15:25:35+08:00

    尝试 dirish 进行备份。http://www.dirvish.org/
    它在所谓的 vaults 中使用来自 rsync 的硬链接。您可以保留尽可能多的旧转储,因为 USB 磁盘可以使用。或者以自动方式进行设置。

    一旦你理解了 dirvish 的想法,它比 rsync 更方便使用,它的所有选项都是它自己的。

    • 0

相关问题

  • Exchange 2007 的备份解决方案

  • IIS 6.0 (Windows Server 2003) 备份的最佳实践?

  • 10TB数据和3台服务器的备份解决方案

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 如何从 SQL Server 2008 中的备份中排除索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve