автоматизировать: поиск неиспользуемых серверов из списка серверов

290
Vinh Nguyen

я разместил это в переполнении стека, но пользователь рекомендовал опубликовать здесь. извините за кросс-пост:

0 голосовать за звездочку

У меня есть доступ к нескольким кластерам Linux в школе. иногда они заняты, а иногда нет. Обычно я захожу на каждую машину вручную, используя команду "top", чтобы посмотреть, занят ли сервер (чтобы узнать, используются ли оба ядра). оттуда я выполняю свою программу, чтобы использовать некоторые серверы, которые могут свободно выполнять мои вычисления.

что я хотел бы сделать, это автоматизировать этот процесс с помощью скрипта. Предположим, у меня есть список серверов, скажем, server1 ... server N. Я бы хотел последовательно войти на каждый из этих серверов, выполнить некоторую команду (top?) и вывести список неиспользуемых серверов (или вывести два верхних процесса, показывающие% процессора, для каждого сервера).

Любые предложения будут ценны.

2

4 ответа на вопрос

1
Ronald Pottol

Что ж, я бы посмотрел на использование w, а не top (возвращает загрузку системы и кто вошел в систему), но оглянемся вокруг.

1
Vinh Nguyen

Спасибо за предложения. Вот мой сценарий для всех, кто заинтересован:

#! /usr/bin/env bash  out=avail.txt rm -f "$HOME/$out" minLoad=1 for h in $(cat "$HOME/listofservers.txt"); do ##w | head -1 | cut -d : -f 5 - | cut -d "," -f 2 - load=`ssh username@$h uptime | cut -d : -f 5 - | cut -d "," -f 2 -` comparison=`expr $load \< $minLoad` if [ comparison ]; then echo "$h" >> "$HOME/$out" ##echo "$load" >> "$HOME/$out" fi done 

PS У нас установлен SGE. Однако то, что я делаю, пока не очень хорошо с SGE. Благодарю.

0
bmargulies

Установите двигатель Sun Grid. Или Гудзон.

0
sntg

Используя ключи SSH, вы можете сделать что-то вроде этого:

for i in server1 server2 server N do ssh user@$i "uptime"  done 

Команда Uptime также покажет загрузку окна. Вы можете использовать "top -b 1", "w" ...

Если вам нужна помощь в настройке ключей ssh, чтобы ssh не запрашивал пароль, прочитайте здесь. Как настроить SSH, чтобы мне не приходилось вводить пароль?

Похожие вопросы