我可以访问学校的一些 Linux 集群。有时他们很忙,有时他们不忙。我通常手动登录每台机器,使用“top”命令查看服务器是否繁忙(查看两个内核是否都被使用)。从那里,我执行我的程序以使用一些可以免费运行我的计算的服务器。
我想做的是使用脚本自动执行此过程。假设我有一个服务器列表,比如 server1 ... 服务器 N。我想按顺序登录到这些服务器中的每一个,运行一些命令(top?),并输出未使用的服务器列表(或输出前两个进程,显示每台服务器的 cpu %)。
如有任何建议,我们将不胜感激。
最佳答案
你的问题让我很好奇。投票关闭后,我找到了w
命令。
如果你要做类似的事情
echo Host: host
ssh vinh@host w
在一个脚本中,用一对你想访问的主机的行,你可以大致得到你想要的。您可以在 w
的输出上使用 head -1
稍微调整一下,以便仅查看负载线。
更新,改进:
for h in host1 host2 host3; do
echo host: $h `ssh vinh@$h w | head -1`
done
更新,改进了一些:
for h in host1 host2 host3; do
echo host: $h `ssh vinh@$h uptime`
done
关于linux - 自动化 : finding non-used servers from a list of servers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1911144/