Доброго вермени суток...
Втух на какой то загадочной трабле.
Установил на машине с ОС линух slackware10.1 nacctd (подсчет трафика+mysql), прописал его в скрипты загрузки на старт в rc.3 и f rc.0 на остановку. Загрузка проходит в норме, но при ребуте или poweroff втухает с красивой надписью INIT: no more processes left in this runlevel, и дальше только кнопкой на системнике :(
Если убрать его из rc.0 скрипты остановки nacctd то ребут и шатдаун проходит как по маслу...
Кусок моего rc.0
~~~~~~~~~~~~~~
# Save the system time to the hardware clock using hwclock --systohc.
if [ -x /sbin/hwclock ]; then
# Check for a broken motherboard RTC clock (where ioports for rtc are
# unknown) to prevent hwclock causing a hang:
if ! grep -q -w rtc /proc/ioports ; then
CLOCK_OPT="--directisa"
fi
if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
echo "Saving system time to the hardware clock (UTC)."
/sbin/hwclock $CLOCK_OPT --utc --systohc
else
echo "Saving system time to the hardware clock (localtime)."
/sbin/hwclock $CLOCK_OPT --localtime --systohc
fi
fi
# Stop the nacctd:
if [ -x /etc/rc.d/rc.nacctd ]; then
. /etc/rc.d/rc.nacctd stop
fiif [ -x /etc/rc.d/rc.stunnel ]; then
. /etc/rc.d/rc.stunnel stop
fi# Stop the squid:
if [ -x /etc/rc.d/rc.squid ]; then
. /etc/rc.d/rc.squid stop
fi
# Stop the Apache web server:
if [ -x /etc/rc.d/rc.httpd ]; then
. /etc/rc.d/rc.httpd stop
fi
# Stop the MySQL database:
if [ -r /var/run/mysql/mysql.pid ]; then
. /etc/rc.d/rc.mysqld stop
fi~~~~~~~~~~~~~~
а вот скрипт запуска rc.nacctd~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
#
# Startup script for nacctd
#DAEMON=/usr/local/sbin/nacctd
PIDFILE=/var/run/nacctd.pidcase "$1" in
'start')
echo "Starting nacctd accounting daemon."
$DAEMON
;;
'stop')if [ -f "$PIDFILE" ]; then
echo "Stopping nacctd accounting daemon."
kill `cat $PIDFILE`
else
echo "nacctd not running."
fi
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
esac
exit 0
~~~~~~~~~~~~~~~~~~~~~~~~
ПАмагите кто чем может, я хз что дальше делать, даже не могу раздуплить куда рыть... На каком основании он матюкается.
Оставить nacctd без выгрузки не могу так как он (nacctd) при подачи на него сигнала TERM инсертит данные в mysql, т.е. nacctd должен выгружаться раньша мускула.
Заранее благодарю за ваши подсказайки...
Это сообщение создано, чтобы поднять данный пост. У меня такая же проблема была (я её не решил...) Может кто поможет. Хороший вопрос.
>Это сообщение создано, чтобы поднять данный пост. У меня такая же проблема
>была (я её не решил...) Может кто поможет. Хороший вопрос.
я же и помогу, разобрался но не до конца, завтра выложу что сделал
#!/bin/sh
# Start squid:
squid_start() {
if [ -x /usr/sbin/squid ]; then
if [ -r /var/lib/squid/logs/squid.pid ] ; then
if ! ps axc | grep squid 1> /dev/null 2> /dev/null; then
echo "Cleaning up old squid.pid"
rm -f /var/lib/squid/logs/squid.pid
fi
fi
echo "Starting cache proxy server : /usr/sbin/squid"
/usr/sbin/squid
fi
}# Stop squid:
squid_stop() {
/usr/sbin/squid -k kill
echo "Stopping cache server: squid"}
# Restart squid:
squid_restart() {
echo "Restarting cache server squid"
# /usr/sbin/squid -k shutdown
/usr/sbin/squid -k kill
sleep 2
squid_start
}case "$1" in
'start')
squid_start
;;
'stop')
squid_stop
;;
'restart')
squid_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
так все заработало, но не пойму в чем был трабл, если кто знает из за чег это подскажите плиз
> *)
> echo "Usage: $0 { start | stop }"
> exit 1
>esac
>exit 0
^^^^^^
Скрипт отработал и вышел. А поскольку скрипты вызываются из rc.0, то происходит остановка. Это тоже самое, что в rc.0, где-нибудь посередине постаивть exit
>Скрипт отработал и вышел. А поскольку скрипты вызываются из rc.0, то происходит
>остановка. Это тоже самое, что в rc.0, где-нибудь посередине постаивть exit
>
Спасиба тебе о добрый гуру, раздуплил. А я целый день бился чего оно не работает...