www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Crazymichi am 22. Mai 2003, 09:27:52



Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Crazymichi am 22. Mai 2003, 09:27:52
Ich habe Proftpd 1.2.8. unter Suse 8.2 personal laufen. Gestartet wird der Server über init.d mit einem leicht abgeänderten Skript aus dem Downloadbereich, die Verzeichnisse sind Standard (nicht speziell auf Suse zugeschnitten).
Jetzt habe ich das Problem, das ich Proftpd nicht stoppen bzw restarten kann, ich bekomme immer ein failed beim Stop-Befehl. über den Yast2-Runleveleditor bekomme ich 1 (Fehler nicht spezifiziert).
Wenn ich ehrlich bin, habe ich keine Ahnung von Linux und Proftpd, deshalb meine bitte:
Kann mir einer sagen, wo der Fehler liegt?

proftpd aus init.d:

#!/bin/sh
#
# /etc/init.d/proftpd
# SuSE 8.2

### BEGIN INIT INFO
# Provides:                     proftpd
# Required-Start:               $local_fs $remote_fs $network
# X-UnitedLinux-Should-Start:   $named $time postgresql sendmail mysql ypclient dhcp radiusd
# Required-Stop:                $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start:                3 5
# Default-Stop:                 0 1 2 6
# Short-Description:            Proftpd FTP-Server
# Description:                  Start the proftpd daemon
### END INIT INFO
#
# load the configuration
#
USER_TO_RUN="pub"
LOGFILEPATH="/var/log/proftpd"
CONFFILEPATH="/usr/local/etc/proftpd.conf"
PROFTPD_BIN="/usr/local/sbin/proftpd"
PIDFILE="/var/run/proftpd.pid"
test -s /etc/rc.status && \
    . /etc/rc.status

test -x $PROFTPD_BIN || exit 5

rc_reset

#
# The echo return value for success (defined in /etc/rc.status).
#
return=$rc_done

#
# main part
#
case "$1" in
    start)
        echo -n "Starting proftpd "
        if test -f $PIDFILE; then
                echo "Error: PID-File found!"
                rc_failed 1
                rc_status -v
else
         if $PROFTPD_BIN; then
                startproc -t 10 $PROFTPD_BIN
                ret=$?
                rc_failed $ret
                rc_status -v
         else
                rc_failed 1
                rc_status -v
         fi

         if test -e $LOGFILEPATH ; then
            chown $USER_TO_RUN $LOGFILEPATH ;
         else
            mkdir $LOGFILEPATH
            chown $USER_TO_RUN $LOGFILEPATH ;
         fi
        fi
        ;;
    stop)
        echo -n "Shutting down profpd"
        #killproc -G -TERM $PROFTPD_BIN
        /bin/kill `cat $PIDFILE 2> /dev/null ` > /dev/null 2>&1
        ret=$?
        rc_failed $ret
        rm -f $PIDFILE > /dev/null 2>&1
        rc_status -v
    ;;
    restart)
        $0 stop  && sleep 3
        $0 start
        # Remember status and be quiet
        rc_status
    ;;
    reload)
        echo -n "Reload proftpd"
        if $PROFTPD_BIN ; then
                killproc -USR1 $PROFTPD_BIN || return=$rc_failed
                rc_status -v
        else
                rc_failed 6
                rc_status -v1
        fi
    ;;
    status)
        echo -n "Checking for proftpd: "
        checkproc $PROFTPD_BIN
        ftp -v
        rc_status -v
    ;;
    *)
    echo "Usage: $0 {start|stop|status|restart|reload}"
    exit 1
esac

# Inform the caller not only verbosely and set an exit status.
rc_exit


Titel: Re: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: stonki am 22. Mai 2003, 10:26:05
Zitat von: "Crazymichi"

Start Script


Da Dein Start Script vollstaendig anders aussieht als mein, poste ich Dir mal meins. Ich habe SuSE 8.2 am laufen, ProFTPD aus dem Tarball selber kompiliert, ohne irgendwie was an den Dirs zu machen. Sollte also identisch wie bei Dir sein:

---------------------

linux:/home/stonki/000/proftpd-1.2.8/contrib # less /etc/init.d/proftpd


#! /bin/sh

### BEGIN INIT INFO
# Provides:          ProFTPD
# Required-Start:    $syslog $network
# X-UnitedLinux-Should-Start:
# Required-Stop:     $syslog $network
# X-UnitedLinux-Should-Stop:
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: ProFTPD
# Description:       Start ProFTPD to allow FTP Services
#! /bin/sh

#       $local_fs               all local file systems are mounted
#                               (most services should need this!)
#       $remote_fs              all remote file systems are mounted
#                               (note that /usr may be remote, so
#                                many services should Require this!)
#       $syslog                 system logging facility up
#       $network                low level networking (eth card, ...)
#       $named                  hostname resolution available
#       $netdaemons             all network daemons are running


# Check for missing binaries (stale symlinks should not happen)
PROFTPD_BIN=/usr/local/sbin/proftpd
test -x $PROFTPD_BIN || exit 5

# Check for existence of needed config file and read it
PROFTPD_CONFIG=/usr/local/etc/proftpd.conf
test -r $PROFTPD_CONFIG || exit 6
# . $PROFTPD_CONFIG

. /etc/rc.status

# Reset status of this service
rc_reset

case "$1" in
    start)
        echo -n "Starting ProFTPD "
        ## Start daemon with startproc(8). If this fails
        ## the return value is set appropriately by startproc.
        startproc $PROFTPD_BIN

        # Remember status and be verbose
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down ProFTPD "
        ## Stop daemon with killproc(8) and if this fails
        ## killproc sets the return value according to LSB.

        killproc -TERM $PROFTPD_BIN

        # Remember status and be verbose
        rc_status -v
        ;;
    try-restart)
        ## Do a restart only if the service was active before.
        ## Note: try-restart is not (yet) part of LSB (as of 1.2)
        $0 status >/dev/null &&  $0 restart

        # Remember status and be quiet
        rc_status
        ;;
    restart)
        ## Stop the service and regardless of whether it was
        ## running or not, start it again.
        $0 stop
        $0 start

        # Remember status and be quiet
        rc_status
        ;;
    force-reload)
        ## Signal the daemon to reload its config. Most daemons
        ## do this on signal 1 (SIGHUP).
        ## If it does not support it, restart.

        echo -n "Reload service ProFTPD "
        ## if it supports it:
        killproc -HUP $PROFTPD_BIN
        #touch /var/run/FOO.pid
        rc_status -v

        ## Otherwise:
        #$0 stop  &&  $0 start
        #rc_status
        ;;
    reload)
        ## Like force-reload, but if daemon does not support
        ## signaling, do nothing (!)

        # If it supports signaling:
        echo -n "Reload service PROFTPD "
        killproc -HUP $PROFTPD_BIN
        #touch /var/run/FOO.pid
        rc_status -v

        ## Otherwise if it does not support reload:
        #rc_failed 3
        #rc_status -v
        ;;
    status)
        echo -n "Checking for service ProFTPD "
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.

        checkproc $PROFTPD_BIN
        # NOTE: rc_status knows that we called this init script with
        # "status" option and adapts its messages accordingly.
        rc_status -v
        ;;
    probe)
        ## Optional: Probe for the necessity of a reload, print out the
        ## argument to this init script which is required for a reload.
        ## Note: probe is not (yet) part of LSB (as of 1.2)

        # test /etc/FOO/FOO.conf -nt /var/run/FOO.pid && echo reload
        ;;
    *)
        echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
        exit 1
        ;;
esac
rc_exit
--------------------------------------------------------------------------


Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Wörsty am 22. Mai 2003, 10:29:19
Wenn das klappt pack es bitte in den Downloadbereich und wirf meins weg. Scheint ja nicht zu gehen.  :?


Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Crazymichi am 22. Mai 2003, 10:50:10
Wie meinst Du das?
Wenn Das Dein Skript im DL-Bereich für Suse 8.2 war, dann geht's doch. Ich hab nur die Pfade geändert, weil ich keinen Bock hatte mich schlau zu machen wie ich das Makefile von Proftpd oder sowas auf Suse umschreiben kann.
Außerdem hab ich immer noch das Prob mit den restart. Ich muß nach jeder .conf Änderung den Rechner neu starten, das langweilt!


Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Wörsty am 22. Mai 2003, 11:02:14
Das war ja für SuSE gedacht.
Und wenns ohne Änderung nicht geht ist's Mist.
http://www.proftpd.de/files/proftpd_initd_suse82.txt


Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Crazymichi am 22. Mai 2003, 12:24:14
Besten Dank an Stonki!
Dein Skript läuft  :D


Titel: PROFTPD läßt sich unter Suse 8.2 nicht stoppen
Beitrag von: Wörsty am 22. Mai 2003, 12:31:02
Also Stonki: Bitte http://www.proftpd.de/files/proftpd_initd_suse82.txt durch dein Script da oben ersetzen.  :D