@l2p

Как отлавливать остановку процесса?

На сервере постоянно работают php скрипты в фоновом режиме. Все скрипты я повесил в один файл /etc/init.d/, чтобы добавиться автозапуска. Но несколько раз в день возникают проблемы - либо висит процесс, но скрипт никак не выполняется, либо процесс вообще исчезает. Как мне продумать обе ситуации? PHP скрипты запускаю с помощью start-stop-daemon с созданием pidfile. Процессы удаляю с помощью удаления этих пидфайлов. Есть мысль, что можно в самом скрипте обработать исключения каждой функции и, если несколько раз одна и та же ошибка, то резетать с помощью /etc/init.d/ (но как получать данные об ошибках не знаю). Требуется помощь.

Доп вопрос. На серваке постоянно сканят ssh (разные ip-ы и разные порты). Достаточно ли дать по 2-3 попытки на авторизацию root, поменять имя пользователя и порт?
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
@remzalp
Программер чего попало на чем попало
По основному вопросу - вести текстовый лог из скрипта.
В идеале сначала разобраться, почему падает, а потом уже городить велосипед. Скорей всего или дело в неответе чего-то удаленного или исключительная ситуация. В случае с php можно ведь вести и лог ошибок
php.net/manual/ru/function.error-log.php
в конкретно взятых скриптах прописать - куда им признаваться в своих ошибках.

По дополнительному вопросу - fail2ban
настройки по умолчанию уже содержат автобан на небольшой промежуток времени активным подбирателям.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Наверно нужно сделать скрипт который будет мониторить состояние остальных и запускать его через cron.
Ну и настроить в скриптах логирование ошибок, чтобы потом знать где они падают.
Ответ написан
athacker
@athacker
SSH перевесить на нестандартный порт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы