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
|