Автозапуск sams2daemon [Решено]

Изображение пользователя Haro_XC.

Доброго времени суток.
На виртуальной машине поднял связку squid+sams2 (14.04.5 х64). В squid настроен дисковый кэш. Была проблема с автозапуском sams2daemon. Он запускался без ошибок командой /etc/init.d/sams2daemon start и не запускался при загрузке ОС. Для этого было сделано следующее: sudo update-rc.d -f sams2daemon remove && sudo update-rc.d sams2daemon defaults 99. После этого на виртуальной машине демон стартует всегда нормально (ps aux | grep sams показывает процесс sams2daemon). Далее случился переезд с виртуальной машины на физическую. И тут случилась проблема. Sams2daemon не стартует автоматом, но без ошибок запускается командой /etc/init.d/sams2daemon start. В /var/log/syslog ничего нет. При этом процессы squid и apache присутствуют.
Если есть идеи по исправлению, то буду очень рад.

0
Priestone - 19 Февраль, 2018 - 12:28
Изображение пользователя Priestone.

но без ошибок запускается командой /etc/init.d/sams2daemon start

От какого пользователя запускаете этой командой? А от какого пользователя он стартует автоматом? Откуда что читает и куда что пишет?

P.S. Неужели он ещё жив?

0
Haro_XC - 23 Февраль, 2018 - 20:41
Изображение пользователя Haro_XC.

Командой он запускается от su. В автозагрузку добавляется от этого же пользователя. А вот про читает и пишет - не понятно. Что именно имеете ввиду? Своего лога у него нет. /var/log/syslog не имеет записей от sams2*.
п.с.
Он жив. А есть адекватная альтернатива? Мне нужен мониторинг, статистика, список запрета и список разрешений.
п.п.с.
Вот что интересно. При загрузке он может быть как жив, так и нет. Вот это совершенно не понятно...
UPD.
Есть подозрение, что sams2daemon пытается запуститься раньше mysql.
runlevel -> 2
ls -l /etc/rc2.d
Обратил внимание, что mysql в rc?.d отсутствует. Добавил update-rc.d -f mysql defaults 20 (у sams2daemon 99). Не сработало.
->
Добавил в rc.local перед exit 0:
---
sleep2
/etc/init.d/sams2daemon start
---
и удалил
update-rc.d -f sams2daemon remove
Сработало.

0
Priestone - 26 Февраль, 2018 - 10:04
Изображение пользователя Priestone.

покажите стартовый скрипт... теоретически должен быть /etc/init.d/sams2

0
Haro_XC - 26 Февраль, 2018 - 20:09
Изображение пользователя Haro_XC.

Он там и практически. Только имя sams2daemon
->

#!/bin/sh -e

### BEGIN INIT INFO
# Provides: sams
# Required-Start: $local_fs $network $time $remote_fs
# Required-Stop:
# Should-Start: $named $mysql $squid
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starting sams daemon
# Description: Squid Account Management System (SAMS)
# Starting sams management daemon - sams2daemon
### END INIT INFO
#
# Author: Pavel Vinogradov
#
# /etc/init.d/sams2: start and stop the sams daemon

SAMSPATH=`cat /usr/local/etc/sams2.conf | grep SAMSPATH | tr "SAMSPATH=" "\0"`
NAME="sams"
DAEMON=$SAMSPATH/bin/sams2daemon
LOCKFILE=/var/lock/samsd
PIDFILE=/var/run/sams2daemon.pid
RETVAL=0
SAMS_ENABLE=true

test -x $DAEMON || exit 0

if ! [ -x "/lib/lsb/init-functions" ]; then
. /lib/lsb/init-functions
else
echo "E: /lib/lsb/init-functions not found, lsb-base (>= 3.0-6) needed"
exit 1
fi

. /etc/default/rcS

case "$1" in
start)
if "$SAMS_ENABLE"; then
log_daemon_msg "Starting $NAME daemon" "$NAME"
if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
log_progress_msg "apparently already running"
log_end_msg 0
exit 0
fi

start-stop-daemon --start --quiet --background \
--pidfile $PIDFILE \
--exec $DAEMON
RETVAL=$?
[ $RETVAL -eq 0 ] && touch "$LOCKFILE"
log_end_msg $RETVAL
else
[ "VERBOSE" != no ] && log_warning_msg "$NAME daemon not enabled, not starting. Please read /usr/share/doc/sams2/README.Debian"
fi
;;

stop)
if "$SAMS_ENABLE"; then
log_daemon_msg "Stopping $NAME daemon" "$NAME"
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"
log_end_msg $RETVAL
else
[ "VERBOSE" != no ] && log_warning_msg "$NAME daemon not enabled, not stoping..."
fi

;;

restart|force-reload)
/etc/init.d/sams2daemon stop
/etc/init.d/sams2daemon start
;;

*)
echo "Usage: ${0##*/} {start|stop|restart}"
RETVAL=1
;;
esac

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры