我正在寻找一种方法,让位于瑞士的 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/等。