0
  • 我正在尝试将 rootfs 备份ServerAServerB.
  • 连接是一种方式,ServerB使用rsnapshot.
  • 我已经创建了一个backup帐户ServerA并启用了无密码 sudo 仅用于rsync

我要完成的工作:

  • authorized_keys将文件更改为ServerA,因此只能rsync通过 ssh 使用该命令。

 

On ServerB-/etc/rsnapshot.conf设置为rsync使用以下参数运行:

  • rsync_long_args --rsync-path="sudo rsync" --delete --numeric-ids --relative --delete-excluded

 

我已经尝试了以下内容ServerA

  • from="ServerB",command="sudo rsync *" ssh-ed25519 SSH-KEY

rsnapshot不断崩溃并给出 IO 错误代码rsync

我在这里想念什么?

4

1 回答 1

0

!!问题解决了 !!

发现 rrsync --- /usr/share/doc/rsync/scripts/rrsync,将其复制到任何地方。

  • ServerA:authorized_keys --- command="sudo /usr/local/bin/rrsync -ro /backup"

由于我在 上保留备份的副本,因此ServerA我不妨从它们中 rsync 而不是在 上使用 rsnapshot ServerB。(这是我最初的想法,但它不起作用,因为由于 rsnapshot 创建的链接存在重复文件,我最终让 rsnapshot 运行在ServerA和上ServerB,以将备份保存到ServerAlocalDirServerA并制作远程快照.)ServerAServerB

  • 还更改了 sudoers 文件ServerA
Defaults!/usr/local/bin/rrsync env_keep += "SSH_ORIGINAL_COMMAND"
backup ALL = (root) NOPASSWD: /usr/local/bin/rrsync
  • rsync -ax --delete --numeric-ids --relative ServerA:/ /ServerB-backup/

现在按预期工作。

请注意,ServerA上面命令中的路径是相对于authorized_keys 中设置的规则而言的。

于 2021-07-15T08:36:37.853 回答