Titel: start @ boot Beitrag von: nullchecker am 03. Juli 2003, 02:00:17 hi
ich hätt gern mal ne frage: ich möchte den proftpd direkt nach dem booten starten, jedoch mault er, dass das script in /usr/local/etc/rc.d (siehe unten) das, glaube ich sogar bei proftpd dabei ist nicht ausführbar sei. woran liegt das? die pfade sind korrekt, müsste ich da mit -c das configfile mitliefern? oder liegt es vielleicht am ausführenden user/group? oder hab ich sonst was verpeilt? auf jeden hab ich kein plan.. thx <nullchecker> #!/bin/sh case "$1" in start) /bin/mkdir -p /var/run/proftpd if [ -x /usr/local/libexec/proftpd ]; then /usr/local/libexec/proftpd && echo -n ' proftpd' fi ;; stop) killall proftpd ;; *) echo "$0 start | stop" ;; esac Titel: start @ boot Beitrag von: Lucy am 03. Juli 2003, 11:04:14 hi ...
welche linux distre benutzt du? .... (meine erklärung funzt zu Linux mandrake ...) ansonsten befinden sich die startlinks für den autostart z.b. unter /etc/rc.d/rc3.d/ (wenn dein linux z.b. im runlevel 3 läuft ) /etc/rc.d/rc5.d/ --- runlevel 5 usw. den eintrag dazu findest du in der /etc/inittab um zu sehen welchen runlevel du startest in diesem verzeichnis befinden sich viele sysmbolische links für all deine systemdienste wie z.B. S99webmin, S10network usw. diese symbolischen links verweisen meist in einer relativen pfadangabe auf dein startscript sieht z.b. so aus wenn du dich in /etc/rc.d/rc5.d/ befindest : S99webmin --> ../init.d/webmin (S = steht für start der dienste, denn du wirst vielleicht auch K1routed sehen oder änliches was für das beenden steht =kill) pflege also in deinem fall den link folgender massen ein wenn du im runlevel 5 startest ... zuvor musst du dir das eigentliche startscript erzeugen, was linux-spezifisch distributionsabhängig anders aussehen kann, meins hier z.b. Mandrake like, unter redhat vielleicht genauso ... aber du findest im internet bereits fertige zum download ...musst mal suchen) ich glaube dieses script wird beim compilieren nicht erzeugt, deshalb fehlt es dir? .... Code: #!/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) 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 gibts halt auch in einfacher ausführung, hier musste vielleicht pfade anpassen .... und zeilen ausdokumentieren ... dieses startscript musst du dahinpacken, wo auch deine anderen dienststarterscripte liegen, meist unter ../init.d/ also /init.d/proftpd hast du das fertig dann konsole und folgendes eingeben ... z.B. cd /etc/rc.d/rc5.d (dein runlevel) ln -s ../init.d/proftpd S84proftp (relativer pfad zu /etc/rc.d/init.d/proftpd) das wars ... und dein proftp startet automatisch ... wie gesagt ... distributionsabhängig ... also das hier nur zum allg. verständnis ... und vielleicht hast ja glück und es passt ^^ so long ... Titel: vercheckt Beitrag von: nullchecker am 03. Juli 2003, 15:42:38 re
vielen Dank für Deine Ausführungen. Wie ich mir aber schon fast dachte, war es nur ein ganz einfacher, dummer Fehler, und wie ich mir auch dachte, war der Fehler: ich! Die Datei war nämlich im wahrsten Sinne des Wortes "nicht ausführbar". Nun ja. das war eigentlich alles. lol. Mein OS ist übrigens FreeBSD, ein anderes Startup script, das so wie Deins noch zusätzliche möglichkeiten (network up, suspend, status usw) beinhaltet fände ich zwar nicht schlecht, fand ich aber nicht. Tjo.. also danke nochmals für Deine Mühe, interessant fand ich´s auf jeden fall (nomen est omen) => nullchecker <= |