linux – 在多个主机上并行执行不同命令

前端之家收集整理的这篇文章主要介绍了linux – 在多个主机上并行执行不同命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个运行一系列命令的工具,比如现有的工具:
parallel -h
parallel [OPTIONS] command -- arguments
    for each argument,run command with argument,in parallel
parallel [OPTIONS] -- commands
    run specified commands in parallel

但是我希望这些命令可以在多台计算机上运行ssh,其中包含pssh或pdsh的一些细节,可以与许多主机进行通信.我有hacked out something that works,,但与这些工具相比,它的ssh处理无关紧要 – 我无法阻止它们,甚至看不到它们的所有输出.

如果该工具具有一些基本的负载平衡,那就更好了,但我想我会使用一个单独的工具来选择主机. (用于查询负载,内存以及计算机是否处于交互式使用状态的好工具也会受到赞赏,但我已经编写了一些足以让主机选择的东西.)这不是集群,我不知道我想依赖sshd以外的守护进程,或者请管理员安装像Condor这样的严重集群作业调度程序.我没有任何这些计算机上的root访问权限.

编辑:为了强调,我想在每个主机上运行不同的命令 – 通常使用不同的参数运行相同的程序,如上面的第一个并行用法示例.

解决方法

啊!它看起来像 GNU version of parallel(不是我安装的那个)确实做到了这一点.没有负载平衡,我还没有尝试过看看它对每个stdout和stderr的作用,但这正是我想要的.
To run commands on more than one remote computer run:
seq 10 | parallel --sshlogin server.example.com,server2.example.net echo

不幸的是,我编写了一个脚本,提供状态更新,具有可配置的输出设置,并包含一些简单的负载平衡,所以我现在将坚持使用它.

原文链接:https://www.f2er.com/linux/398711.html

猜你在找的Linux相关文章