LinuxForum.Fans
Тема

не стартует sams2daemon не корректно работает update-rc.d

Автор: Me_Shock 7 сообщений 4024 просмотров
#306796

Доброго времени суток
настраиваю проксю, пришла печалька: скрипт /etc/init.d/sams2 запуска демона sams2daemon после запуска испаряется из процессов((

Показать
[console]root@gw5:/# cat /var/log/boot
Tue Mar 5 18:27:28 2013: Setting preliminary keymap...done.
Tue Mar 5 18:27:28 2013: Activating swap...done.
Tue Mar 5 18:27:28 2013: Checking root file system...fsck from util-linux-ng 2.17.2
Tue Mar 5 18:27:28 2013: /dev/md0: clean, 5451/1525920 files, 173066/6103022 blocks
Tue Mar 5 18:27:28 2013: done.
Tue Mar 5 18:27:28 2013: Cleaning up ifupdown....
Tue Mar 5 18:27:28 2013: Setting up networking....
Tue Mar 5 18:27:28 2013: Loading kernel modules...done.
Tue Mar 5 18:27:28 2013: Generating udev events for MD arrays...done.
Tue Mar 5 18:27:28 2013: Activating lvm and md swap...done.
Tue Mar 5 18:27:28 2013: Checking file systems...fsck from util-linux-ng 2.17.2
Tue Mar 5 18:27:28 2013: /dev/md1: clean, 222/61056 files, 10533/243965 blocks
Tue Mar 5 18:27:28 2013: /dev/md2: clean, 4130/4276224 files, 318525/17089262 blocks
Tue Mar 5 18:27:28 2013: /dev/md6: clean, 11/1831424 files, 158961/7323630 blocks
Tue Mar 5 18:27:28 2013: /dev/md3: clean, 11/1831424 files, 158961/7323630 blocks
Tue Mar 5 18:27:28 2013: /dev/md4: clean, 27810/1831424 files, 280289/7323630 blocks
Tue Mar 5 18:27:28 2013: /dev/md7: clean, 37/1831424 files, 158986/7323630 blocks
Tue Mar 5 18:27:28 2013: /dev/md5: clean, 2955/1831424 files, 207698/7323630 blocks
Tue Mar 5 18:27:28 2013: done.
Tue Mar 5 18:27:28 2013: Mounting local filesystems...done.
Tue Mar 5 18:27:28 2013: Activating swapfile swap...done.
Tue Mar 5 18:27:29 2013: Cleaning up temporary files....
Tue Mar 5 18:27:29 2013: Configuring network interfaces...done.
Tue Mar 5 18:27:29 2013: Starting portmap daemon....
Tue Mar 5 18:27:29 2013: Starting NFS common utilities: statd.
Tue Mar 5 18:27:29 2013: Cleaning up temporary files....
Tue Mar 5 18:27:29 2013: Setting console screen modes.
Tue Mar 5 18:27:29 2013: ^[]R^[[9;30]^[[14;30]Skipping font and keymap setup (handled by console-setup).
Tue Mar 5 18:27:29 2013: Setting up console font and keymap...done.
Tue Mar 5 18:27:30 2013: Setting kernel variables ...done.
Tue Mar 5 18:27:30 2013: INIT: Entering runlevel: 2
Tue Mar 5 18:27:30 2013: Using makefile-style concurrent boot in runlevel 2.
Tue Mar 5 18:27:30 2013: Starting NFS common utilities: statd.
Tue Mar 5 18:27:30 2013: Starting portmap daemon...Already running..
Tue Mar 5 18:27:30 2013: Starting sams daemon: sams.
Tue Mar 5 18:27:30 2013: Starting enhanced syslogd: rsyslogd.
Tue Mar 5 18:27:30 2013: Starting ACPI services....
Tue Mar 5 18:27:31 2013: Starting web server: apache2.
Tue Mar 5 18:27:32 2013: Starting MD monitoring service: mdadm --monitor.
Tue Mar 5 18:27:32 2013: Starting deferred execution scheduler: atd.
Tue Mar 5 18:27:33 2013: Starting OpenBSD Secure Shell server: sshd.
Tue Mar 5 18:27:33 2013: Starting Squid HTTP Proxy 3.x: squid3.
Tue Mar 5 18:27:33 2013: Starting periodic command scheduler: cron.
Tue Mar 5 18:27:36 2013: Starting MySQL database server: mysqld ..
Tue Mar 5 18:27:36 2013: Checking for corrupt, not cleanly closed and upgrade needing tables..
Tue Mar 5 18:27:36 2013: Starting PostgreSQL 8.4 database server: main.
Tue Mar 5 18:27:40 2013: Starting MTA: exim4.
[/console]

логинюсь и ишу процесс демона:

Показать
[console]root@gw5:/# ps aux|grep sam && /etc/init.d/sams2 start && ps aux|grep sam
root 2053 0.0 0.0 8688 856 pts/0 S+ 18:36 0:00 grep sam
Starting sams daemon: sams.
root 2061 0.0 0.0 33816 2600 ? S 18:36 0:00 /usr/bin/sams2daemon
root 2069 0.0 0.0 8688 852 pts/0 S+ 18:36 0:00 grep sam
[/console]

укажите пожалуйста куда копать, какие логи предоставить?
/etc/init.d/sams2

Показать
text
root@gw5:/# cat /etc/init.d/sams2
#!/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 <Pavel.Vinogradov@nixdev.net> # # /etc/init.d/sams2: start and stop the sams daemon

SAMSPATH=`cat /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/sams2 stop /etc/init.d/sams2 start ;;

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

#306890

Enzo_brn, /etc/init.d/sams2 у нас одинаковый.
На всякий случай, я брал и ставил вот эти пакеты: http://nixdev.net/release/sams/devel/packages/debian/
Иногда бывало, демон падал, но не так чтобы постоянно после загрузки.
Если запустить вручную, демон остается работать?

#306991

"Sinder⇓" написал:
вот эти пакеты:
да, они.
  1. sams2_2.0.0-rc2_amd64.deb
  2. sams2-web_2.0.0-rc2_all.deb
  3. sams2-doc_2.0.0-rc2_all.deb (не ставил т.к. он для иксов, кажется, и тянет кучу зависимостей)

"Sinder" написал:
Если запустить вручную, демон остается работать?
Да. Легко и непринужденно! В суслоге от самс2демона шаром покати. До того как сделал симлинк с /usr/sbin/squid3 на /usr/sbin/squid демон падал после запуска с характерной ошибкой неверных путей, сейчас же все работает - если ручками. у меня в rc2.d .. rc5.d sams2 идет как S17sams2 а сквид как S19squid3. я уже и не знаю куда смотреть и копать..((
UPD: не работает упдате.рц-д

Показать
[console]root@gw5:/etc/rc2.d# ls -l|grep sa
lrwxrwxrwx 1 root root 15 Mar 4 19:08 S17sams2 -> ../init.d/sams2
root@gw5:/etc/rc2.d# update-rc.d sams2 start 20 2 3 4 5 . stop 20 0 1 6 .
update-rc.d: using dependency based boot sequencing
root@gw5:/etc/rc2.d# ls -l|grep sa
lrwxrwxrwx 1 root root 15 Mar 4 19:08 S17sams2 -> ../init.d/sams2
root@gw5:/etc/rc2.d#
[/console]
imuprostopoh!

#306995

с частью РАЗОБРАЛСЯ:
Похоже демон sams2daemon (тем не менее числящийся в логах как samsdaemon) стартует до mysql.
Что странно: в стартовом скрипте sams2 в хедере прописано:

Показать
[console]#!/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 <Pavel.Vinogradov@nixdev.net>
#
# /etc/init.d/sams2: start and stop the sams daemon
[/console]

#307003

Проблема решена! Путем перепиливания скрипта от Exim4, который стартует позже всего что необходимо для старта sams2daemon т.е. mysql и squid3. ВАЖНО:
Утилилита update-rc.d действительно смотрит в хеадере скрипта на его реквайры, прежде чем сменить очередность.
Такаим образом без изменения/удаления(не рекомендуется) реквайров не удастся повысить/понизить порядок запуска.
По существу: мой /etc/init.d/sams2 (пилена только шапка, кажется..)

Показать
[console]#! /bin/sh
# /etc/init.d/sams2
#
# RE-Writtend by Me_Shock 06.03.2013
#
### BEGIN INIT INFO
# Provides: sams2
# Required-Start: $local_fs $remote_fs $syslog $named $network $time
# Required-Stop: $local_fs $remote_fs $syslog $named $network
# Should-Start: mysql squid3
# Should-Stop: mysql squid3
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Squid accounting mgmt system
# Description: in lunch the sams2daemon samsdaemon
### END INIT INFO
#
SAMSPATH=`cat /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/sams2 stop
/etc/init.d/sams2 start
;;

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

после изменения нужно обновить очередность для самса, где sams2 это имя скрипта в /etc/init.d/*:

Показать
[console]# update-rc.d sams2 defaults[/console]
#307013

"Sinder⇓" написал:
верно, есть такая проблема с очередью запуска:
и туда отписался, так как там ее решили мне дебиан не дал сделать. Хоть S99 ставь а все равно оно грузится в очередь S17 - это все хеадеры и реквайры)))
Войдите или зарегистрируйтесь, чтобы ответить.