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 / 问题 / 472885
Accepted
andreas-h
andreas-h
Asked: 2013-01-28 15:25:37 +0800 CST2013-01-28 15:25:37 +0800 CST 2013-01-28 15:25:37 +0800 CST

如何在 rsnapshot 中截断备份路径

  • 772

我不确定标题是否真的正确。我的 rsnapshot.conf 中有一行

backup  [email protected]:/mnt/rsnapshot/      srv01/

所以 rsnapshot 创建一个 directorsRSNAPSHOT_ROOT/daily.0/srv01/mnt/rsnapshot并将备份文件放在那里。对我来说,这/mnt/rsnapshot部分是不必要的;我宁愿将我的备份文件直接保存在RSNAPSHOT_ROOT/daily.0/srv01/. 有什么办法可以做到这一点?

rsnapshot
  • 3 3 个回答
  • 6021 Views

3 个回答

  • Voted
  1. Best Answer
    Steven Monday
    2013-01-28T18:58:05+08:002013-01-28T18:58:05+08:00

    rsnapshot使用 的--relative标志rsync来保留路径名信息。在大多数情况下,您可能确实希望保留(至少部分)该信息,尤其是在备份本地目录时。但是,在您的情况下,您真的不需要保留前导路径前缀。

    使用相当新的版本(v.2.6.7+),您可以通过在所需的切点插入 arsync来显式控制路径名前缀的保存部分。不会有效地更改路径名,但它确实表明您只想保留. 由于您想切断整个路径名,您只需将 附加到源路径的末尾,如下所示:--relative././rsync--relative././

    backup  [email protected]:/mnt/rsnapshot/./  srv01/
    

    编辑

    好吧,看起来这个./技巧在这种情况下不起作用,因为rsnapshot去掉了尾随的/. 相反,您应该能够--relative在每个备份点的基础上禁用该选项,方法是在您的backup行中添加第四列,如下所示:

    backup  [email protected]:/mnt/rsnapshot/  srv01/  +rsync_long_args=--no-relative
    

    +rsync_long_args告诉rsnapshot附加到其现有选项rsync_long_args,仅适用于当前备份点。通过附加--no-relative到rsync_long_args,您可以实现关闭 的预期效果--relative。

    • 15
  2. Johannes Müller
    2016-03-03T09:40:02+08:002016-03-03T09:40:02+08:00

    史蒂文的第一个使用建议./确实适用于 rsnapshot,你只需要把它放两次:

    backup  [email protected]:/mnt/rsnapshot/././  srv01/
    

    Rsnapshot 将去掉最后一个斜杠,但第一个点适用于 rsync。

    • 5
  3. Michael
    2013-01-28T16:08:39+08:002013-01-28T16:08:39+08:00

    这种行为实际上是由 rsync 的--relative标志控制的。引用rsync 手册:

    -R, --相对

    使用相对路径。这意味着命令行中指定的完整路径名被发送到服务器,而不仅仅是文件名的最后部分。当您想同时发送几个不同的目录时,这尤其有用。例如,如果您使用此命令:

    rsync -av /foo/bar/baz.c remote:/tmp/
    

    ...这将在远程计算机上的 /tmp/ 中创建一个名为 baz.c 的文件。相反,如果您使用

    rsync -avR /foo/bar/baz.c remote:/tmp/
    

    然后将在远程计算机上创建一个名为 /tmp/foo/bar/baz.c 的文件,并保留其完整路径。这些额外的路径元素称为“隐含目录”(即上例中的“foo”和“foo/bar”目录)。[...]

    因此,在您rsnapshot.conf找到以rsync_long_args. 默认情况下,--delete --numeric-ids --relative --delete-excluded应该存在。删除该--relative选项应该会导致预期的结果。

    • 4

相关问题

  • Rsnapshot 到多个目的地(或维护硬链接结构)

  • 本地加密增量空间高效备份解决方案

  • 在庞大的目录树上执行 rm -rf 需要几个小时

  • 将 rsnapshot 配置为仅备份本地文件系统

  • 有什么好的 rsnapshot nagios 插件吗?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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