如何同步服务器配置

如何同步服务器配置

我正在寻找一种方法,让位于瑞士的 1 台服务器(充当 Web/db 服务器)以安全的方式将诸如deny.hosts 和 iptables 规则之类的文件共享/同步到位于北美的另一台服务器(dns/mail)。

那可能吗?

我希望这样做可以节省时间,因为我只需要更新 1 台服务器就可以传播更改。

感谢您的帮助

答案1

我同意上面 blacklight 的评论,rsync 可能是个不错的选择:

Rsync 的工作原理如下:

$ rsync options source destination

因此,如果您想使用“推送”方法,将更改从瑞士推送到美国,那么您可以运行如下操作:

$ rsync -avz /etc/deny.hosts myuser@<your host>:/etc/

如果您已经为 myuser 设置了 ssh 密钥,则不需要密码,如果您在 crontab 中设置了密码,那么您就可以自动执行此操作。

要创建 crontab 条目,您可以编辑 /etc/crontab(我经常使用 pico 编辑器)

pico /etc/crontab

格式如下:

分钟 小时 DOM MON DOW CMD

因此,如果要在每天 22:00 运行该命令,您可以输入以下代码:

0 22 * * * rsync -avz /etc/deny.hosts myuser@<your host>:/etc/

或者更好的方法是使用所有 rsync 命令制作一个脚本,然后从 crontab 运行该脚本,但像上面这样的一行也应该可以工作。

有关 Rsync 的更多选项可以在手册页, 和 crontab 手册页

答案2

管理 10 台服务器和管理 1,000 台服务器有什么区别?

只要你做对了,就没什么。

这是配置管理的工作。查看 Ansible/Cfengine/Chef/Puppet/等。

相关内容