LINUX.ORG.RU

Как без костылей сделать взаимодействие нескольких линукс машин? Например при событие А на машине_1 запустить скрипт Б на машине_2.

Да элементарно в общем-то. При наступлении события А на машине_1 ты должен отправить сообщение о наступлении данного события на машину_2, а обработчик этого сообщения на машине_2 настроить на запуск скрипта Б при получении данного мессиджа.

anonymous
()

Скрипт на второй машине можно запускать через ssh, способ вызова зависит от того, что из себя представляет первое событие.

april
()

Здравствуйте. Такой вопрос: Как без костылей сделать взаимодействие нескольких линукс машин? Например при событие А на машине_1 запустить скрипт Б на машине_2.

if A; then ssh машина_2 Б; fi

drBatty ★★
()

Без костылей? Конечно же, tubes из telepathy.

//убегаю, уворачиваясь от летящих в меня помидоров.

x3al ★★★★★
()
Ответ на: комментарий от drBatty

ну вот я как раз сейчас и делаю это через ssh, но на мой взгляд это костыли. Хотя бы из за того, что при каждой команде нужно открывать новую сессию.

disee ★★★
() автор топика

Через системную службу логов такие вещи делаются (у меня - syslog-ng).

Когда на машине 1 происходит событие, то сообщение направляется в службу логов, она сохраняет в лог/отправляет на другой компьютер/запускает скрипт (нужное подчеркнуть, можно выбрать сразу все). На втором компьютере тоже служба логов, кроме всего прочего она слушает такие внешние события (стандартный порт для этих целей - 514). По получению таких событий она сохраняет в лог/отправляет на другой компьютер/запускает скрипт (нужное подчеркнуть, можно выбрать сразу все).

Делал такое кода был админом и создавал «ловушку для хакеров» :)

Kroz ★★★★★
()
Ответ на: комментарий от disee

откройте одну. типа cat fifo | ssh script.sh, и кормите скрипт на другой машине через этот fifo (man mkfifo).

drBatty ★★
()
Ответ на: комментарий от x3al

//убегаю, уворачиваясь от летящих в меня помидоров.

помидоры дорогие, на ЛОРе кидаются кое-чем другим :)

по сабжу - миллион разных способов, ТС, уточни задачу

Harald ★★★★★
()

На главной висит новость, в ней описывается один из способов решить эту задачу. Вкратце, use the xinetd, Luke.

eagleivg ★★★★★
()
Ответ на: комментарий от Harald

Да просто запуск обычных скриптов. Например на нате произошла авторизация по впн, на домашнем компьютере выскочило уведомление. На сервер докачался какой то файл в делюге, домашний комп зашел по самбе или фтп и забрал файл. Это все возможно выполнять скриптами. Главный вопрос: как передать сигнал с машины_1 на машину_2?

disee ★★★
() автор топика
Ответ на: комментарий от disee

упало соединение

А это как сообщать?

Я когда-то нечто подобное (по большей части для развлечения) делал через хттп: на А скрипт отправляет запрос, на Б cgi скрипт обрабатывает. Но это жуткий костыль в общем случае естественно.

Kalashnikov ★★★
()
Ответ на: комментарий от disee

через сеть

напиши простую программку, которая будет извещать о событиях

Harald ★★★★★
()
Ответ на: комментарий от Makefile

неужели нету никакой простой юникс утилиты для передачи/прослушки данных по определенному порту?

disee ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.