系统管理工具包: 使用 SSH 进行分布式管理
2008-11-12 08:30:42 来源:WEB开发网当您希望获得网络的整体运行情况时,这种监视工作可能是非常有价值的,例如,要检查运行 Web 或者数据库服务的一组或者计算机集群中的问题,并希望同时为该组中的多台计算机确定潜在的峰值或者问题。
然而请注意,其中仍然存在一定的延迟,尤其是在某台计算机特别繁忙的情况下,在不同的计算机中建立连接和执行命令所需的时间可能会产生非常明显的时间延迟。
在多台计算机上运行相同的操作
在大量的计算机中创建用户可能是一件非常辛苦的工作。很显然,有许多解决方案可用于解决使用单点登录实用工具所带来的困难,如 Network Information Service (NIS) 或者基于 LDAP 的解决方案,但是您并不是必须使用这种方式对用户进行同步。
您可以使用 SSH 在多台计算机上运行 adduser 命令,以完成这项任务。但是在 Solaris 中,该命令的名称是 useradd。命令行选项基本上是相同的,所以您可以两次使用 run-remote.sh(请参见清单 11)。
清单 11. 运行 run-remote.sh 两次
$ runremote.sh "gentoo redhat" "adduser -u 1000 -G sales,marketing mcbrown"
$ runremote.sh "solaris solaris-x86" "useradd -u 1000 -G sales,marketing mcbrown"
现在,您已经在大量的计算机中使用相同的组和相同的用户 ID 创建了相同的用户,但是这样做并不实用。
更好的方法是,使用文章“System Administration Toolkit: Standardizing your UNIX command-line tools”中介绍的技巧(请参见参考资料)在多台计算机上使用相同的命令:$ runremote.sh "gentoo solaris" "adduser.sh -u 1000 -G sales,marketing mcbrown"
总结
在本文中,您研究了一种用于在远程计算机中运行命令的简单但功能强大的方法。尽管这个过程的基本思想非常简单,不过您还可以创建附加的功能以完成某些可靠的、自动化远程管理任务(例如,可以重定向并通过管道传输远程本地输入)。通过实现一些简单的 Shell 脚本技巧,您甚至可以使用该系统同时对大量计算机进行远程管理,从而简化各种重复的任务和性能监视工作。
更多精彩
赞助商链接