Как сделать бесконечный цикл проверки ssh коннекта?
Есть задача постоянно проверять (в бесконечном цикле) наличие ssh коннекта к серверу.
Алгоритм работы скрипта примерно следующий:
1. Сервер А подключается по ssh к серверу B
2. Сервер А проверяет если есть коннект по ssh к серверу B
A. Если коннект есть - ничего не делает
B. Если коннекта нету - сервер А переподключается по ssh к серверу B
3. Пауза 10 секунд
4. Сервер А проверяет если есть коннект по ssh к серверу B
A. Если коннект есть - ничего не делает
B. Если коннекта нету - сервер А переподключается по ssh к серверу B
3. Пауза 10 секунд
И дальше в таком же духе.
Подскажите пожалуйста как реализовать?
Тогда скриптом. Попытайтесь самостоятельно разобраться c bash. Ваша задача:
1. Написать команду, которой устанавливать соединение (для примера см. мою ссылку выше).
2. Запустить эту команду в бесконечном цикле (погуглить насчёт циклов в bash).
3. В цикл вставить sleep 10 (погуглить команду sleep в bash)
Ну или заказать такой скрипт (см. комментарий @saboteur_kiev)
Да вы батенька любитель усложнять задачи :))))
1. Нужно сделать авторизацию ssh по ключу
2. crontab запуск каждые 10 секунд, я бы дал 30
3. Скрипт который проверяет наличие соединения
#!/bin/bash
netstat -a |grep 94-180 |grep ESTABLISHED
if [ $? -ne 0 ]; then
echo "FAILED"
else
echo "CONNECTED"
fi
Насколько я знаю - стандартный крон - не умеет.
Вопрос задан человеком, который плохо описал суть проблемы, но описал техническое решение, при этом технически он не понимает как это реализовывать совсем. Отсюда и проблема, что вопрос непонятно о чем, и ответ вряд ли поможет.
AlikDex: Доверься знающим, но втихаря ЗАГУГЛИ. Крон может, и еще есть варианты описаны здесь Выполнение скрипта раз в 5 секунд Linux Saboteur: Он не может описать, но понять его можно.
Он хочет постоянный ssh мост между хостами, возможно когда нибуть расскажет зачем :)
Некоторые скриптами маршрутизации наводят, а некоторые и автономки поднимают.