[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Пользовательские скрипты в /etc/init.d



Alexey Pechnikov -> debian-russian@lists.debian.org  @ Thu, 27 Aug 2009 15:22:57 +0400:

 >> > Можно ли сделать автоматический перезапуск демонов, запущенных такими
 >> > скриптами?
 >> 
 >> AFAIK, "искаропки" нет. Но всегда есть стандартный механизм respawn в
 >> inittab или более велосипедные решения, опирающиеся на cron, например.

 AP> Как раз велосипеды надоели. inittab подходит для простого
 AP> безусловного запуска, но зачастую при запуске нужно проверять
 AP> работу других сервисов или нагрузку на систему.  Например, пока LA
 AP> > N, подождать запускать сервис (а скрипт по крону может убивать
 AP> сервис при перегрузке). Неужели для такой стандартной, по сути,
 AP> задачи администрирования нет решения "из коробки"?

И давно это задача запуска _демона_ _при условии LA < N_ стала стандартной!?

Я могу представить себе как более-менее (скорее менее - условия у
каждого свои) стандартную задачу запуска _кроновского задания_ при
условии LA < N.  Но для ее решения крона, в общем, вполне достаточно (ну
да, проверять LA надо будет скриптом запуска, но уж этот-то велосипед о
паре строчек можно нарисовать раз и навсегда).  Почему не вписать в крон
просмотр LA?  Да потому что это _тебе_ надо смотреть на LA.  А мне надо
смотреть на что-то другое.

Я могу себе представить как стандартную задачу запуска демона.  Но уж
безо всяких левых условий, только если жесткие пререквизиты.  И эту
задачу инит-скрипты решают.

Задача "прибить конкретный сервис, как только LA слишком возросло, и
запустить его заново, когда опустилось" - уже нестандартна (стандартное
решение тут - произвести такие действия, чтобы так делать было не надо).
Но если уж понадобился такой костыль, то она тоже, в общем, решается в
десяток строк на sh - либо с применением крона, либо (лучше) отдельным
демоном.  Но повторюсь, выдавать ее за стандартную и хотеть, чтобы
система инит-скриптов умела такое делать - несколько, гм, неразумно.  В
серьезном месте ситуация, где требуется подобный костыль, называется
"сервис нихрена не работает".  В качестве временной меры такие костыли
при этом, конечно, возможны, но начинают работу с этой ситуацией
все-таки с выдачи дюлей тем, кто довел систему до такой жизни.

-- 
Рюмку взял - паяльник положил


Reply to: