PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Startscript einbinden



magic_halli
17.03.08, 12:52
Hi,

ich will, dass beim Systemstart meines Suse10.1 eine Anwendung automatisch gestartet wird. Dazu habe ich folgendes Startscript (wurde mit der Anwendung gleich mitgeliefert):


#! /bin/sh
#
# ntop startscript
#
# NOTE: Copy this script in /etc/init.d/ntop
#

set -e

NAME=ntop
DIR=/usr/local/bin
DAEMON=/usr/local/bin/ntop
test -x $DAEMON || exit 0

case "$1" in
start)
#folgende Zeile habe ich auskommentiert - den Befehl gibts bei mir nicht?!
#update-inetd --disable smtp
echo -n "Starting NTOP, note this will create a listener on UDP:6343 "
cd $DIR
$DAEMON -u nobody -w 3000 -W 0 > /var/log/ntop.out &
echo " ...done"
;;

stop)
PIDS=`ps -ef | grep $DAEMON | grep -v grep | awk '{print $2 }'`
if [ "$PIDS" = "" ] ; then
echo "ntop is not running"
else
echo "ntop processes are $PIDS"
kill $PIDS
fi
;;

kill9)
PIDS=`ps -ef | grep $DAEMON | grep -v grep | awk '{print $2 }'`
if [ "$PIDS" = "" ] ; then
echo "ntop is not running"
else
echo "killing -9 ntop processes $PIDS"
kill -9 $PIDS
fi
;;

*)
echo "Usage: /etc/init.d/$NAME {start}"
exit 1
;;
esac

exit 0

Dieses Script habe ich dann nach /etc/init.d kopiert.
Dann bin ich in den Runlevel-Editor und habe Runlevel 3+5 eingestellt und das Teil aktiviert. Jetzt sollte es doch eigentlich bei Systemstart starten... tut es aber nicht!
Erst wenn ich nach einem reboot den Dienst händisch im Runlevel-Editor starte, dann gehts erst!

Ist vielleicht am Script selbst oder an meinem Vorgehen etwas falsch?
Wieso startet der Dienst nicht automatisch bzw. wie bringe ich ihn dazu?

Danke und Gruß

eule
17.03.08, 13:03
Ausfuehrbar machen?
man chmod

magic_halli
17.03.08, 13:16
Ausfuehrbar machen?
man chmod
Ist bereits für jedermann mit Ausführ-Rechten!

marce
17.03.08, 13:23
Suse verlangt einen speziellen Aufbau der Scripte, gerade was z.B. auch die Headerzeilen angeht. Schau Dir mal die skeleton-Vorlage an (müsste in /etc/init.d/ liegen) und passe das mitgelieferte Script entsprechend an.

magic_halli
17.03.08, 13:53
Mir ist gerade nochwas aufgefallen:
Wenn ich das Script händisch in der Konsole starte, bekomme ich folgende Meldung:


[root] # /etc/init.d/ntop start
/etc/rc.status: line 43: test: -eq: unary operator expected
/etc/rc.status: line 44: test: -eq: unary operator expected
Starting NTOP, note this will create a listener on UDP:6343 ...done


Zeile 43 und 44 sehen hierbei so aus: (sind im start-Block)


$DAEMON -u nobody -w 3000 -W 0 > /var/log/ntop.out &
echo " ...done"


Mh, was will mir diese Message sagen??? ...vielleicht liegt mein Problem ja auch daran?!

drcux
17.03.08, 14:08
Warum nimmst du nicht einfach das RPM für deine Distrie, da ist schon ein passendes Init-Skript enhalten...

magic_halli
17.03.08, 14:16
Warum nimmst du nicht einfach das RPM für deine Distrie, da ist schon ein passendes Init-Skript enhalten...
...weil es für diese Anwendung kein rpm gibt. Ich habe das händisch bauen und installieren müssen -->
./configure
make
make install

Das Script hier ist aus dem entpackten Quell-tar.gz Paket und sollte eigentlich "nur" nach /etc/init.d kopiert werden und dann funktionieren. ;)
Tja, 1:1 übernehmen ging schonmal nicht so ganz...

drcux
17.03.08, 14:19
http://suse.inode.at/opensuse/distribution/SL-10.1/inst-source/suse/x86_64/ntop-3.2-17.x86_64.rpm

Rain_maker
17.03.08, 16:58
http://packages.opensuse-community.org/index.jsp?searchTerm=ntop&distro=SUSE_Linux_101