请推荐一款好的终端多路复用器给我。我是系统管理新手,需要一种管理多个机器的好方法。
编辑:请明确一点,我正在寻找像 PuTTy 这样可以同时向多个盒子发送命令的东西。
使用示例:在 10 个不同的机器上安装 rpm。手动安装每个机器很麻烦。
答案1
GNU 屏幕就是为此而发明的,它不可或缺,我每天都在用它。
Tmux 最近也受到了很多关注,它是 screen 的轻量级版本。
答案2
一个涵盖使用 puppet、cfengine、Spacewalk、Kickstart 和其他整体实用程序等方法管理多个系统的全面最佳实践答案是合适的。
相反,我将举例说明创建自己的产品的好处:
for H in `hosts`
do
ssh $H "# do things and stuff ; yum -y update"
done
值得庆幸的是,我在这里也介绍了第一个:
答案3
我认为 Cluster SSH 在这些情况下效果最好。您会获得每个服务器的单独窗口,但对话框会将您的所有击键传输到所有服务器。
这样,如果您的“rpm”命令在一台服务器上失败,您可以单击该服务器并调查/解决问题。
答案4
我用舞者壳在小型集群上,它可以在主机名列表上并行执行 shell 命令。如果您有很多系统,网络吞吐量可能会阻碍 dsh。它提供了一个树形拓扑选项,让主机调用主机等等,只要它们都安装了 dsh。
Dsh 很不错,但它也有一些缺点。如果您的网络或系统繁忙,就会发生故障,导致一些系统处于一种状态,而其他系统处于另一种状态。我想,您可以尝试编写幂等命令并继续运行它,直到一切恢复正常。但常见的解决方案是使用某种代理,尝试将系统从当前状态恢复到现有状态;这种方法允许它在发生瞬时网络错误时重试。这是 cfengine/puppet/chef 在不同程度上采用的方法。