bash, передача ssh команд в конвеере [Решено]

Автор zCirill, 03 марта 2016, 14:34:20

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

zCirill

Добрый день.

Есть список апишников серверов на которых хочу выполнить ряд команд

cat ext.ip | while read LINE; do ssh $LINE "cd old && bash deploy-agent.sh"; done

Берет первый адрес, отправляет на сервер команды, и цикл завершается, к следующим адресам по списку не переходит.
Не подскажете, в чем может быть дело?

endru

добавь вывод переменной:
cat ext.ip |  while read LINE; do echo $LINE; ssh $LINE 'cd old && bash deploy-agent.sh'; done
возможно просто команда на удаленном сервере не корректная.

ogost

Для таких случаев есть другие решения, например тот же puppet

zCirill

#3
Цитата: ogost от 04 марта 2016, 05:03:31Для таких случаев есть другие решения, например тот же puppet

спасибо, но в моей ситуации это будет из пушки по воробьям.


Cообщение объединено 04 марта 2016, 15:00:29

Цитата: endru от 04 марта 2016, 05:00:12cat ext.ip |  while read LINE; do echo $LINE; ssh $LINE 'cd old && bash deploy-agent.sh'; done


так тоже не пашет, собсно отправляю в конвеер "echo BOOO", не работает.


а вот так работает.


cat ext.ip |  while read LINE; do ssh $LINE 'bash -s' < ololo.sh; done





cat ololo.sh
#!/bin/bash

echo BOOOO