Технические вопросы по UTM 5.0
littlesavage
Сообщения: 120 Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары
Сообщение
littlesavage » Пн май 24, 2010 21:42
У кого-нибудь есть нормальные скрипты запуска UTM под FreeBSD?
Не хочу в очередной раз изобретать велосипед.
Стандартные не устраивают по нескольким пунктам:
1. Не учитывают параметры rcvar из /etc/rc.conf
2. Не реализованы стандартные restart, forcestart, и т .п.
3. При остановке скрипт убивает все процессы utm5_core, а не только процесс из pid файла (прописанного в конфиге).
4. Конструкции типа
ps ax | grep utm5_core | grep -v stop | grep safe | awk '{print $1}' убивают
littlesavage
Сообщения: 120 Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары
Сообщение
littlesavage » Пт июн 04, 2010 16:09
Мда. Сделал свои.
Правда, без извращений типа автоматического перезапуска и отправкой уведомлений на почту.
utm5_core:
Код: Выделить всё
#!/bin/sh
#
# PROVIDE: utm5_core
# REQUIRE: LOGIN mysql
# KEYWORD: shutdown
. /etc/rc.subr
name="utm5_core"
rcvar=`set_rcvar`
load_rc_config $name
: ${utm5_core_enable='NO'}
: ${utm5_core_app='/netup/utm5/bin/utm5_core'}
: ${utm5_core_pidfile='/var/run/utm5_core.pid'}
: ${utm5_core_conf='/netup/utm5/utm5.cfg'}
command="/usr/sbin/daemon"
command_args="${utm5_core_app} -p ${utm5_core_pidfile} -c ${utm5_core_conf}"
procname=${utm5_core_app}
pidfile=${utm5_core_pidfile}
sig_stop='USR1'
extra_commands='reload'
stop_postcmd="${name}_stop_postcmd"
utm5_core_stop_postcmd()
{
rm -f ${pidfile}
}
run_rc_command "$1"
utm5_rfw:
Код: Выделить всё
#!/bin/sh
#
# PROVIDE: utm5_rfw
# REQUIRE: LOGIN mysql utm5_core
# KEYWORD: shutdown
. /etc/rc.subr
name="utm5_rfw"
rcvar=`set_rcvar`
load_rc_config $name
: ${utm5_rfw_enable='NO'}
: ${utm5_rfw_app='/netup/utm5/bin/utm5_rfw'}
: ${utm5_rfw_conf='/netup/utm5/rfw5.cfg'}
: ${utm5_rfw_resync_on='YES'}
: ${utm5_rfw_resync_off='NO'}
if [ -z "utm5_rfw_pidfile" ]; then
utm5_rfw_pidfile=`/usr/bin/awk '/^[[:space:]]*pid_file=/{
sub(/^[[:space:]]*pid_file=/,"");
print $0;
}' < ${utm5_conf}`
${utm5_rfw_pidfile:='/var/run/utm5_rfw.pid'}
fi
if ! checkyesno utm5_rfw_resync_on; then _resync_on="-f"; fi
if ! checkyesno utm5_rfw_resync_off; then _resync_off="-o"; fi
command="/usr/sbin/daemon"
command_args="-f ${utm5_rfw_app} -c ${utm5_rfw_conf} $_resync_on $_resync_off"
procname=${utm5_rfw_app}
pidfile=${utm5_rfw_pidfile}
sig_stop='USR1'
run_rc_command "$1"