我想使用 rsync 或 btsync 或类似工具将 IPSet 集从一台机器 (server01) 复制到另一台机器 (server02)。可以吗?如果可以,我该怎么做?
这是在 server01 不可用的情况下采取的冗余措施。
答案1
您可以使用ipset save
和ipset restore
复制您的 IP 集的当前状态。
例如(在 server01 上以 root 身份运行):
`ipset save | ssh server02 "ipset restore"`
不幸的是,没有像 rsync 这样的工具可以实现这一点。但对于主动/被动故障转移,上述示例应该可以工作。
答案2
如果您可以使用 将其写入 server01 上的文件ipset save
,lsyncd
则每当 server01 的文件发生更改时,您都会更新 server02 上的文件(这就像在指定目录中的任何内容发生更改或更新时执行 rsync 一样),并且inotify
可以运行脚本来在ipset restore
文件被 更改时更新 server02 的 ipset lsyncd
,从而使您完成大部分操作。
如果您正在寻找此功能,那么还缺少的一点就是,每当 server01 上的 ipset 发生更改时,都要保存它。好吧,那是大约 5 年前的答案。