我可以在这个用例中使用capistrano吗?

我想同时在许多服务器上运行命令。 我知道mcollective,capistrano,clusterssh和pconsole是快速pipe理许多服务器的工具。 示例命令:

du /var/log | sort -n | tail -5 

我已经研究过MCollective,但是这太难了,不能直接运行SSH命令。 因此,pconsole和clustersh似乎更适合我。

我知道,capistrano是一个非常受欢迎的工具。 不过不知道,在这样的使用情况下会好吗? 例如

  • testing监视软件是否通过bash命令安装
  • 百胜更新木偶
  • 在备份软件的configuration文件中进行sed-replace。

我关心在运行SSH命令后得到一个结果,所以不仅仅是运行SSH命令,而是再次听不到。 这将有助于快速检查许多服务器上的事情。

我知道我可以使用Puppet来更改服务器上的特定内容,但报告统计信息并不是很好,例如哪些目录在服务器上使用的空间最多。

可以说,你的监控工具应该能够随时间报告磁盘使用情况; 但是,如果你想对目标主机组运行直接命令,我build议使用这种types的任务。

  • 零服务器中的configuration。
  • 你只需要安装在要运行命令的机器上。
  • 它支持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,可以通过中间主机委托命令,允许你使用堡垒主机在许多安全区域使用命令。