我有十几台 CentOS Linux 服务器。总体来说,它们的配置基本相同。
有时我需要添加额外的 cron 作业(/etc/cron.d/ 中的单独 crontab 文件),和/或将新的 BASH/Perl 脚本复制到 10 多个服务器,或者运行 sed 表达式对基本上存在于每 10 多个服务器上的脚本进行微小更改。
我很快就厌倦了在单个主机上做这件事。那么,你们是如何应对这一挑战的?你们有什么秘诀吗?有什么我应该知道的软件吗(免费且可靠)?
我正在寻找通过 SSH 执行此操作的方法,但我也对其他方法很好奇。
答案1
答案2
答案3
我自己会做的是创建一个需要运行命令的服务器列表。在运行命令的机器和运行命令的服务器之间设置 ssh 证书。然后将需要运行的命令添加到脚本中,并让脚本循环遍历运行命令的服务器列表。您可能想要想出一个日志系统,但是错误可能会导致头痛。
IE:
服务器列表:
10.0.0.1
10.0.0.2
10.0.0.3
运行命令的脚本
#!/bin/bash
for server in `cat servers.lst`
do
ssh server some-command >> log.txt
done
答案4
CF引擎正是出于这个目的,它已经存在很长时间了。
如果您需要以下最佳配置管理解决方案:
- 最快、最具可扩展性的解决方案
- 了解系统的实际状态
- 具有最佳安全记录的解决方案
- 充分的灵活性和精细的控制
- 成熟且适合企业的解决方案