我有一个全局 rsnapshot 配置文件,用于我们备份的所有机器。全局文件有
ssh_args -p 123
机器特定文件包括全局配置文件并尝试覆盖端口:
include_conf /etc/rsnapshot-common.conf
ssh_args -p 456
这不起作用,我收到错误:
全局 ssh_args 只能设置一次,但已设置。也许您想使用每个备份点的 ssh_args。
所以它知道我想做什么,但它没有告诉我怎么做!手册页也没有提到任何方法。全局设置端口后,如何更改端口?
答案1
这快照手册页似乎暗示你per-backup-point
在目标后以逗号分隔的列表添加参数,他们给出的示例是
backup /var/ localhost/ one_fs=1
这与其他示例相同,但请注意第四列。这是您指定每个备份点选项以覆盖全局设置的方式。这个额外的参数可以采用多个选项,以逗号分隔。
所以我猜你会用
backup /var/ localhost/ ssh_args=-p456
答案2
您还可以在相应的位置为该用户全局设置端口~/.ssh/config
:
Host example.com
Port 1234
这样,它会在所有与 SSH 相关的地方被拾取,你不必每次都手动指定它。
并不是说这是一个更好的解决方案,只是一种替代方案。
答案3
rsnapshot.conf 是一个 TAB 分隔文件,因此 ssh_args 甚至可以包含空格。我的如下所示:
backup root@HOSTNAME:/ HOSTNAME/ ssh_args=-p 2220 -i /ssh-id -o StrictHostKeychecking=no