Это команда parallel-ssh, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
paralllel-ssh - параллельная программа ssh
СИНТАКСИС
параллельный SSH [-ваиИП] [-h файл_хоста] [-H [пользователь@]кашель[:порт]] [-l пользователь] [-p паритет] [-o
превзойти] [-e Errdir] [-t Тайм-аут] [-O кредита] [-x арг] [-X аргумент] команду ...
параллельный SSH -I [-ваиИП] [-h файл_хоста] [-H [пользователь@]кашель[:порт]] [-l пользователь] [-p паритет] [-o
превзойти] [-e Errdir] [-t Тайм-аут] [-O кредита] [-x арг] [-X аргумент] [команду ...]
ОПИСАНИЕ
параллельный SSH это программа для параллельного выполнения ssh на нескольких хостах. Это
предоставляет такие функции, как отправка входных данных всем процессам, передача пароля в
ssh, сохранение вывода в файлы и тайм-аут.
Переменные среды PSSH_NODENUM и PSSH_HOST отправляются на удаленный хост. В
Переменной PSSH_NODENUM присваивается уникальный номер для каждого ssh-соединения, начиная с 0
и считает. Переменной PSSH_HOST присваивается имя хоста, как указано в
список хостов. Обратите внимание, что по умолчанию sshd отбрасывает переменные среды, поэтому sshd_config включен
удаленный хост должен включать строку:
AcceptEnv PSSH_NODENUM PSSH_HOST
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-h хост_файл
--хосты хост_файл
Читать хосты из заданного хост_файл. Строки в главном файле имеют вид
[пользователь@]кашель[:порт] и может включать пустые строки и комментарии (строки, начинающиеся с
«#»). Если указано несколько файлов хоста ( -h вариант используется более одного раза),
тогда paralllel-ssh ведет себя так, как если бы эти файлы были объединены вместе. Если
host указан несколько раз, тогда paralllel-ssh подключит данный номер
раз.
-H [пользователь@]кашель[:порт]
--хозяин [пользователь@]кашель[:порт]
-H "[пользователь@]кашель[:порт] [[пользователь@]кашель[:порт ] ...] "
--хозяин "[пользователь@]кашель[:порт] [[пользователь@]кашель[:порт ] ...] "
Добавьте указанные строки хоста в список хостов. Этому варианту может быть дано несколько
раз и может использоваться вместе с -h опцию.
-l пользователь
--Пользователь пользователь
Используйте данное имя пользователя по умолчанию для любых записей хоста, которые специально не
указать пользователя.
-p параллелизм
--пар параллелизм
Используйте данное число как максимальное количество одновременных подключений.
-t Тайм-аут
- тайм-аут Тайм-аут
Время ожидания соединения истекает через заданное количество секунд. При значении 0
paralllel-ssh не будет тайм-аутов для любых соединений.
-o превзойти
--outdir превзойти
Сохранить стандартный вывод в файлы в указанном каталоге. Имена файлов имеют вид
[пользователь@]кашель[:порт] [.Num], где пользователь и порт включены только для хостов,
явно укажите их. Число представляет собой счетчик, который увеличивается каждый раз для
хосты, указанные более одного раза.
-e Errdir
--errdir Errdir
Сохраните стандартную ошибку в файлах в указанном каталоге. Имена файлов совпадают
форма как с -o опцию.
-x арг
--дополнительные аргументы арг
Передает дополнительные аргументы командной строки SSH (см. SSH(1) справочная страница для получения дополнительной информации
информация об аргументах SSH). Этот параметр можно указывать несколько раз.
Аргументы обрабатываются для разделения на пробелы, защиты текста в кавычках и
escape с обратной косой чертой. Чтобы передать аргументы без такой обработки, используйте -X
вариант вместо.
-X аргумент
--дополнительный аргумент аргумент
Передает единственный аргумент командной строки SSH (см. SSH(1) справочная страница для получения дополнительной информации
информация об аргументах SSH). в отличие от -x вариант, обработка не производится
по аргументу, включая разбиение слов. Чтобы передать несколько командной строки
аргументы, используйте параметр один раз для каждого аргумента.
-O кредита
--параметры кредита
Параметры SSH в формате, используемом в файле конфигурации SSH (см. ssh_config(5)
справочную страницу для получения дополнительной информации). Этот параметр можно указывать несколько раз.
-A
--askpass
Спросите пароль и передайте его ssh. Пароль можно использовать для
разблокировать ключ или для аутентификации по паролю. Пароль передается в
достаточно безопасным способом (например, он не будет отображаться в списках аргументов). Однако будь
знать, что пользователь root в вашей системе потенциально может перехватить пароль.
-i
--в линию
Отображать стандартный вывод и стандартную ошибку по мере завершения каждого хоста.
--inline-stdout
Отображать стандартный вывод (но не стандартную ошибку) по мере завершения каждого хоста.
-v
--подробный
Включите сообщения об ошибках от ssh с -i и \ настройки.
-I
- отправить-ввод
Прочтите ввод и отправьте каждому процессу ssh. Поскольку ssh позволяет командному сценарию быть
отправлено на стандартный ввод, -I option может использоваться вместо аргумента команды.
-P
--Распечатать
Отобразить вывод по мере его поступления. Эта опция имеет ограниченную полезность, потому что вывод
с разных хостов чередуются.
ПРИМЕРЫ
Подключитесь к host1 и host2 и выведите «hello, world» из каждого:
parallel-ssh -i -H "host1 host2" echo "привет, мир"
Выведите «hello, world» с каждого хоста, указанного в файле hosts.txt:
parallel-ssh -i -h hosts.txt echo "привет, мир"
Запустите команду от имени пользователя root с запросом пароля root:
parallel-ssh -i -h hosts.txt -A -l root echo привет
Выполните длинную команду без тайм-аута:
parallel-ssh -i -h hosts.txt -t 0 сон 10000
Если файл hosts.txt имеет большое количество записей, скажем 100, то опция параллелизма
также может быть установлено значение 100, чтобы команды выполнялись одновременно:
parallel-ssh -i -h hosts.txt -p 100 -t 0 сон 10000
Выполните команду без проверки и сохранения ключей хоста:
parallel-ssh -i -H host1 -H host2 -x "-O StrictHostKeyChecking = no -O
UserKnownHostsFile = / dev / null -O GlobalKnownHostsFile = / dev / null "echo привет
Выведите номер узла для каждого соединения (будет напечатано 0, 1 и 2):
parallel-ssh -i -H host1 -H host1 -H host2 'echo $ PSSH_NODENUM'
СОВЕТЫ
Если у вас есть набор хостов, к которым вы часто подключаетесь с определенными параметрами, это может быть
полезно создать псевдоним, например:
псевдоним pssh_servers = "parallel-ssh -h /path/to/server_list.txt -l root -A"
Файл ssh_config может включать произвольное количество разделов Host. Каждая запись о хосте
указывает параметры ssh, которые применяются только к данному хосту. Определения хостов могут даже
ведут себя как псевдонимы, если включена опция HostName. Эта функция ssh в сочетании
с файлами хоста parallel-ssh обеспечивает огромную гибкость.
ВЫХОД статус
Коды статуса выхода из paralllel-ssh следующие:
0 Успех
1 Прочая ошибка
2 Синтаксис или ошибка использования
3 По крайней мере один процесс был прерван сигналом или истекло время ожидания.
4 Все процессы завершены, но по крайней мере один процесс ssh сообщил об ошибке (выход
статус 255).
5 Ошибок ssh не было, но по крайней мере одна удаленная команда имела ненулевой выход
Статус.
АВТОРЫ
По сценарию Брента Н. Чуна[электронная почта защищена]> и Эндрю Макнабб[электронная почта защищена]>.
http://code.google.com/p/parallel-ssh/
Используйте parallel-ssh в Интернете с помощью сервисов onworks.net