PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ProFTP Startscript?



Klarock
07.11.02, 15:41
Gepriesen sei DAS Board!

Dank den Beiträgen hier, habe ich endlich einen funktionsfähigen FTP-Server mit ProFTP aufgezogen. Nun möchte ich aber die Kontrolle über diesen Server behalten. Er soll nicht ständig an sein, geschweige denn beim Systemstart hochfahren. So weit, so gut. Das habe ich mit meinen Linux-Anfängern-Kenntnissen auch hin gekriegt :). Nun möchte ich aber ein Start- und Stopscript erstellen, mit dem ich den FTP-Server anschmeisen kann, und vorher noch Dyndns.org mittels dem ez-ipupdate-script meine aktuelle IP mitteilen kann. Und auf Wunsch auch wieder beenden.

Wie muss das script aussehen (habe leider noch keine Erfahrung mit Scripten gemacht)?
Kann ich auch mit dem ez-ipupdate-script beim FTP-Server-Stop Dyndns.org eine andere (nicht meine) IP zuweisen, damit ich nicht mehr angesprochen werde?

ProFTP starte bzw. stoppe ich wie folgt: /etc/init.d/proftpd start bzw. stop
ez-ipupdate: ez-ipupdate -c /etc/ez-ipupdate.conf

Das script möchte ich so starten: ftpserver start, und so beenden: ftpserver stop.

Bin auf Eure vorschläge gespannt.

Dank im vorraus, Klarock

Discipulus
07.11.02, 15:49
Versuch doch mal dein jetzigen Start/Stop-Script zu editieren, so dass er vorher noch dein Prog startet.
Oder du machst dir einen neuen Script. Schau dir dazu das File /etc/init.d/skeleton an. So sind/sollten alle init.d-Scripte aufgebaut sein.

Klarock
07.11.02, 16:10
Servus,

habe mir das Script angeschaut und entsprechend editiert (siehe unten). Wenn ich das Script ftpserver mittels >ftpserver start< gestartet und bekomme folgende Fehlermitteilung:

/usr/local/bin/ftpserver: line 6: syntax error near unexpected token `)'
/usr/local/bin/ftpserver: line 6: ` stop)'

Was mache ich da falsch?

Klarock

p.s. Mein ftpserver-script an der "Start"-Stelle:

[...]
start)
ez-ipupdate -c /etc/ez-ipupdate.conf
gprintf "Starting proftpd: "
daemon proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
;;
[...]

Discipulus
07.11.02, 16:11
Kannst du mal den ganzen Script posten?
Danke

Klarock
07.11.02, 18:08
Nabend,

klar, hier das ganze Script, habe einfach das ProFTPD-Script übernommen und die eine Zeile eingefügt:



!/bin/sh
#
# Startup script for ProFTPd
#
# chkconfig: 345 85 15
# description: ProFTPD is an enhanced FTP server with \
# a focus toward simplicity, security, and ease of configuration. \
# It features a very Apache-like configuration syntax, \
# and a highly customizable server infrastructure, \
# including support for multiple 'virtual' FTP servers, \
# anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftpd.conf
#
# By: Osman Elliyasa <osman@Cable.EU.org>
# $Id: proftpd.init.d,v 1.2 2001/01/26 23:10:55 flood Exp $
# modified by vdanen@mandrakesoft.com

# Source function library.
. /etc/rc.d/init.d/functions

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi

[ -x /usr/sbin/proftpd ] || exit 0

FTPSHUT=/usr/sbin/ftpshut
RETVAL=0

# See how we were called.
case "$1" in
start)
ez-ipupdate -c /etc/ez-ipupdate.conf;
gprintf "Starting proftpd: "
daemon proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
;;
stop)
gprintf "Shutting down proftpd: "
killproc proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
;;
status)
status proftpd
RETVAL=$?
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
reload)
gprintf "Re-reading proftpd config: "
killproc proftpd -HUP
RETVAL=$?
echo
;;
suspend)
if [ -f $FTPSHUT ]; then
if [ $# -gt 1 ]; then
shift
gprintf "Suspending proftpd with '$*' "
$FTPSHUT $*
else
gprintf "Suspending proftpd NOW "
$FTPSHUT now "Maintanance in progress"
fi
else
gprintf "No way to suspend, shutting down instead "
fi
killproc proftpd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
;;
resume)
if [ -f /etc/shutmsg ]; then
gprintf "Allowing proftpd sessions again "
rm -f /etc/shutmsg
else
gprintf "Starting proftpd; was not suspended "
fi
daemon proftpd
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
;;
*)
gprintf "Usage: %s {start|stop|status|restart|reload|resume" "$0"
if [ "$FTPSHUT" = "" ]; then
gprintf "}\n"
else
gprintf "|suspend}\n"
gprintf "suspend accepts additional arguments which are passed to ftpshut(8)\n"
fi
exit 1
esac

if [ $# -gt 1 ]; then
shift
$0 $*
fi

exit $RETVAL


Klarock

Discipulus
08.11.02, 10:42
hm .... ich weiss jetzt nicht ob das etwas mit deinem Fehler zu tun hat, aber bei deiner engefügten Zeile hast du ein ";" am Zeilenende. Vielleicht liegt der Fehler ja hier.

Klarock
08.11.02, 11:06
Morgen,

also das Semikolon ";" habe ich entfernt, wobei es eigentlich keinen Einfluss auf das Script haben sollte, nur das der Befehl halt sbgeschlossen ist, wenn ich mich nicht irre :). An der Fehlerausgabe und am Nichtfunktionieren des Scriptes hat sich nichts geändert.

Thx für die Mühn, Klarock