Небольшой код на питоне для мониторинга серверов и в случаи их зависания отправка команды на bash скрипт. Время проверки каждые 45 секунд.
И так внутри архива 3 файла:
- hldspub — думаю всем известный bash скрипт файл для запуска серверов
- server.list — файл со списком серверов которые мониторятся и командой для рестарта в случаи зависания. Формат списка:
IP сервера : порт сервера : команда которая отправится в консоль
То есть, как в примере видно что сервер 95.128.243.86 на порт 27016 будет перезапущен командой/etc/init.d/hldsfunru restart в случае зависания. В архиве аналог hldsfunru путь где будет лежать задаете вы сами.
3. Сам скрипт aurostart.py
После заполнения и настройки hldspub и server.list достаточно в screen запустить:
python autostart.py
И вы должны увидеть строчки типа:
list of loaded servers: 95.128.243.86:27015 95.128.243.86:27020 Thread 1 of monitoring server started Thread 2 of monitoring server started Thread 1: Send ok to 95.128.243.86:27015 waiting response for 45 sec.... Thread 2: Send ok to 95.128.243.86:27020 waiting response for 45 sec.... Thread 1: Response ok from 95.128.243.86:27015 next retry to request is 45 sec. Thread 2: Response ok from 95.128.243.86:27020 next retry to request is 45 sec.
autorestart.zip (2,9 KiB, 949 hits)