[GELÖST] Problem mit Proftpd Startscript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

[GELÖST] Problem mit Proftpd Startscript

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.

Benutzeravatar
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.

Benutzeravatar
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

Benutzeravatar
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 :wink:

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.

Benutzeravatar
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

Benutzeravatar
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 :wink:
Das System was mich zu Fall bringt muss erst mal geboren werden.

Antworten