Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Payne_of_Death
- Beiträge: 484
- Registriert: 16.05.2004 20:21:30
-
Kontaktdaten:
Beitrag
von Payne_of_Death » 30.08.2004 22:13:25
Hey,
ich habe einen proftpd kompiliert mit ein paar weiteren Modulen standardmäßig so dass er im Verzeichnis /usr/sbin liegt.
Bei der Verwendung des Scriptes kann ich zwar eine Proftpd Session initialisieren aber aber diese weder beenden noch reloaden.
Da in der /var/run keine *.pid vorhanden ist....
Code: Alles auswählen
Wishmaster:/var/run# dir
atd.pid crond.pid crond.reboot dhclient.eth0.leases dhclient.eth0.pid exim4 inetd.pid klogd.pid pppconfig sshd sshd.pid syslogd.pid usb utmp
Wishmaster:/var/run# ./proftpd_server stop
-bash: ./proftpd_server: Datei oder Verzeichnis nicht gefunden
Wishmaster:/var/run# cd /etc/init.d
Wishmaster:/etc/init.d# ./proftpd_server stop
Stopping professional ftp daemon: find: /var/run/proftpd: Datei oder Verzeichnis nicht gefunden
das Scrip ein Ausschnittt
Code: Alles auswählen
case "$1" in
start)
if [ $run_proftpd = 1 ]
then
update-inetd --disable ftp
echo -n "Starting professional ftp daemon: "
if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $proftpd_options
then
echo "$NAME."
else
echo
fi
fi
;;
stop)
if [ $run_proftpd = 1 ]
then
echo -n "Stopping professional ftp daemon: "
for i in $(find /var/run/proftpd \
-regex "^/var/run/proftpd/proftpd-[0-9]+$")
do
kill -9 $(echo $i | sed "s/^.*[^0-9]//") || true;
rm -f $i
killed=1
done
if [ "$killed" != "" ]
then
echo "$NAME."
else
echo
fi
fi
;;
reload)
echo -n "Reloading $NAME configuration..."
for i in $(find /var/run/proftpd \
-regex "^/var/run/proftpd/proftpd-[0-9]+$")
do
kill -1 $(echo $i | sed "s/^.*[^0-9]//") || true;
killed=1
done
if [ "$killed" != "" ]
then
echo "$NAME."
else
echo
fi
;;
Zuletzt geändert von
Payne_of_Death am 01.09.2004 01:19:20, insgesamt 1-mal geändert.
Das System was mich zu Fall bringt muss erst mal geboren werden.
-
Payne_of_Death
- Beiträge: 484
- Registriert: 16.05.2004 20:21:30
-
Kontaktdaten:
Beitrag
von Payne_of_Death » 31.08.2004 17:56:35
Problem gelöst......
Das System was mich zu Fall bringt muss erst mal geboren werden.
-
thorben
- Beiträge: 722
- Registriert: 14.09.2003 23:23:49
Beitrag
von thorben » 31.08.2004 19:23:02
moin,
wärst du so freundlich die lösung zu posten dass andere leute mit gleichem problem eine antwort finden?
danke
thorben
-
Payne_of_Death
- Beiträge: 484
- Registriert: 16.05.2004 20:21:30
-
Kontaktdaten:
Beitrag
von Payne_of_Death » 01.09.2004 01:17:51
aber klar doch
Sobald man ein wenig Rohbau hat klappts auch mit den Daemonen *g*
Code: Alles auswählen
#!/bin/sh
#--------------------------------------------------------
#
# generic daemon wrapper script
#
# OPTIONS: (start|stop|restart|status)
#
#--------------------------------------------------------
# --- edit here ---
DAEMON_DESC="FTP-SERVER :PROFTPD:"
DAEMON_BIN="/usr/sbin/proftpd"
DAEMON_PROC="proftpd"
DAEMON_LOGFILE="/var/logfiles/${DAEMON_PROC}.log"
DAEMON_OPTIONS=""
# --- don't edit below ---
#--------------------------------------------------------
#
# get_pid()
#
#--------------------------------------------------------
get_pid()
{
PID=`ps aux | grep -v grep | grep ${DAEMON_PROC} | awk '{print $2}'`
}
#--------------------------------------------------------
#
# start_daemon()
#
#--------------------------------------------------------
start_daemon()
{
echo -n "Starting ${DAEMON_DESC}"
${DAEMON_BIN} ${DAEMON_OPTIONS} 2> ${DAEMON_LOGFILE}&
echo " ... done."
}
#--------------------------------------------------------
#
# stop_daemon()
#
#--------------------------------------------------------
stop_daemon()
{
echo -n "Stopping ${DAEMON_DESC}"
kill -s SIGKILL $PID
echo " ... done."
}
#--------------------------------------------------------
#
# main
#
#--------------------------------------------------------
case "$1" in
start)
get_pid
if [ -z "$PID" ] ; then
start_daemon
else
echo "${DAEMON_DESC} is running."
exit 1
fi
;;
stop)
get_pid
if [ -z "$PID" ] ; then
echo "${DAEMON_DESC} is not running."
exit 1
else
stop_daemon
fi
;;
restart)
get_pid
if [ ! -z "$PID" ] ; then
stop_daemon
fi
start_daemon
;;
status)
get_pid
if [ -z "$PID" ] ; then
echo "${DAEMON_DESC} is not running."
else
echo "${DAEMON_DESC} is running. PID is $PID"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
# --- EOF ---
Das System was mich zu Fall bringt muss erst mal geboren werden.
-
Bert
- Beiträge: 3751
- Registriert: 16.07.2002 14:06:52
- Wohnort: Dresden
-
Kontaktdaten:
Beitrag
von Bert » 01.09.2004 23:15:04
warum verwendest Du eigentlich nicht die Vorlage in /etc/init.d/skeleton ? Das wäre doch dann eigentlich the 'Debian way'
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:
bert@debianforum.de
-
Payne_of_Death
- Beiträge: 484
- Registriert: 16.05.2004 20:21:30
-
Kontaktdaten:
Beitrag
von Payne_of_Death » 02.09.2004 00:08:39
Bert hat geschrieben:warum verwendest Du eigentlich nicht die Vorlage in /etc/init.d/skeleton ? Das wäre doch dann eigentlich the 'Debian way'
Bert
Huhu Bert,
ich kannte das u.A. nicht.
Abgesehen davon viele Wege führen nach Rom und dieses Beispiel finde ich am logischten
Das System was mich zu Fall bringt muss erst mal geboren werden.