我想同时在许多服务器上运行命令。 我知道mcollective,capistrano,clusterssh和pconsole是快速pipe理许多服务器的工具。 示例命令:
du /var/log | sort -n | tail -5
我已经研究过MCollective,但是这太难了,不能直接运行SSH命令。 因此,pconsole和clustersh似乎更适合我。
我知道,capistrano是一个非常受欢迎的工具。 不过不知道,在这样的使用情况下会好吗? 例如
我关心在运行SSH命令后得到一个结果,所以不仅仅是运行SSH命令,而是再次听不到。 这将有助于快速检查许多服务器上的事情。
我知道我可以使用Puppet来更改服务器上的特定内容,但报告统计信息并不是很好,例如哪些目录在服务器上使用的空间最多。
可以说,你的监控工具应该能够随时间报告磁盘使用情况; 但是,如果你想对目标主机组运行直接命令,我build议使用这种types的任务。
它支持sudo
。
-K, --ask-sudo-pass Prompt for the password to use with --sudo, if any
您可以定义要运行多less个并行任务:
-f NUM, --forks=NUM Level of parallelism. NUM is specified as an integer, the default is 5.
许多function,检查项目的网站,这是非常有据可查的。
另一个在不同主机上并行运行任务的命令行工具是GNU并行的 。
我喜欢使用func ,尤其是与我的func-shell结合使用时。 它为您提供了一个shell,可以运行您希望运行的任何主机上的任何命令。
这不是像configuration文件那样的零configuration,因为它需要每台服务器上都有一个守护进程。 但好处是它不需要SSH,可以通过中间主机委托命令,允许你使用堡垒主机在许多安全区域使用命令。