|
Alles rund um Mac OSX & Linux: eigenes /etc/init.d Script startet manuell aber nicht beim SystemstartWindows 7 Für alle Fragen rund um Mac OSX, Linux und andere Unix-Derivate. |
13.05.2011, 17:54 | #1 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Hello World! hab da heute auf einer unserer virtuellen (Xenserver) Maschinen mit Debian Lenny 64-Bit ein eigenes Script - nennen wir es SCRIPT - in /etc/init.d gelegt - über Code:
ATTFilter # /etc/init.d/SCRIPT start # /etc/init.d/SCRIPT stop # /etc/init.d/SCRIPT restart # /etc/init.d/SCRIPT check Also hab ich mittels Code:
ATTFilter # update-rc.d SCRIPT defaults Nun zum Problem: Beim Systemstart ist der Prozess, der durch das Script eigentlich starten sollte nicht aktiv. Manuell läuft aber alles gut. Hat einer eine Idee woran das liegen kann? Ich will erstmal nicht den Inhalt von SCRIPT posten, falls das unbedingt nötig ist werd ich es aber tun
__________________ Logfiles bitte immer in CODE-Tags posten |
13.05.2011, 20:35 | #2 |
| eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Hi,
__________________gleich vorweg: ich kenne mich mit Debian-Distris nicht sonderlich aus, aber ich denke du musst dein Script einem Runlevel zuordnen. Das heißt, legst du dein Script z.B. in "/etc/rcS.d/SCRIPT" ab, wird es beim booten ausgeführt. Ist hier ziemlich gut beschrieben. URL="hxxp://wiki.ubuntuusers.de/dienste"]hxxp://wiki.ubuntuusers.de/dienste Karaya |
13.05.2011, 20:42 | #3 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Hallo Karaya und danke für deine Antwort.
__________________Ich hab die runlevels im initscript deklariert (LSB-style-header) als Beispiel hier aus /etc/init.d/skeleton aus dem Ubuntu mit dem ich diese Zeilen gerade tippe: Code:
ATTFilter #! /bin/sh ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO Sie liegen da auch korrekt drin, ich habs kontrolliert trotzdem läuft es nicht beim Systemstart Edit: Ich glaube langsam es liegt an der Eigenart des Programms selbst was ich starten will. ich werd das mal mit einem Kollegen von mir am Montag klären, vllt hat der noch eine Idee. Wenn Du oder irgendjmd anders noch eine Idee habt, so scheut euch nicht diese zu posten Edit2: Den Weg über /etc/rc.local und /etc/inittab bin ich auch schon gegangen. Läuft nicht. rc.local wird zwar ausgeführt, aber nicht der Befehl den ich will. Ein einfaches mkdir /root/test macht er. Aber den befehl den ich will, noway Über inittab sagt er mir ständig "respawning too fast..." ... deswegen dachteich ich bin mit dem "normalen" init.d-Weg da besser beraten
__________________ Geändert von cosinus (13.05.2011 um 20:49 Uhr) Grund: Zusatz + Typo |
13.05.2011, 21:08 | #4 |
| eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Naja, ich hab's mir fast gedacht. Hab auch nur geantwortet, weil ich kurz vorher zufällig auf dieser Ubuntu-Seite war. Ich arbeite mit CRUX (kennt kaum jemand ) und da werden Dienste einfach völlig anders behandelt. Wenn du also "alles richtig" gemacht hast, liegt das Problem vielleicht an deinem Script. Ich will dein Script jetzt nicht sehen, aber vielleicht kannst du erklären, was dein Script tun soll. Klar sollte auch sein, dass dein Script zu einem sehr frühen Zeitpunkt ausgeführt wird. Wenn du also Programme oder ähnliches startest die Lib's brauchen die zu diesem Zeitpunkt noch nicht geladen sind, dann wird es, beim Booten, nicht funktionieren. Karaya |
13.05.2011, 21:13 | #5 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Naja sowas dachte ich auch schon. Hab in meinem Script ein sleep 10 eingebaut, half nicht. Hab es vor update-rc.d manuell symverlinkt in rc2.d als S99!!! und es startete nicht wie gewollt! in /etc/rc.local ging es auch nicht!
__________________ Logfiles bitte immer in CODE-Tags posten |
15.05.2011, 21:04 | #6 |
| eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart "respawning too fast..." bedeutet, du möchtest auf etwas zugreifen das es nicht gibt. Wenn dein Script aus deinem Account heraus funktioniert, als Daemon aber nicht, kann es sein, dass du die Pfade nicht komplett angegeben hast, weil er die zu diesem Zeitpunkt noch nicht kennt (die /etc/profile wurde noch nicht gelesen). Dass es aus rc.local nicht funktioniert ist merkwürdig, weil zu diesem Zeitpunkt die /etc/profile eigentlich gelesen sein sollte - zumindest ist das bei Archlinux und Crux der Fall. Welchen Befehl willst du denn ausführen ? Karaya |
16.05.2011, 09:27 | #7 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Ich will ein Programm starten, das im Hintergrund bestimmte Routingaufgaben erfüllen soll. Soweit mir bekannt liefert der Hersteller nur die ausführbare Datei, den Rest muss man sich selbst einrichten. In der Zwischenzeit hab ich mal zum Beobachten einige Logausgaben in SCRIPT in /etc/init.d eingebaut. Das Script wird schon korrekt gestartet beim Systemstart, nur eben der eigentliche Befehl nicht...nur wenn ich manuell an der Konsole ein /etc/init.d/SCRIPT start ausführe läuft das Programm wie es soll... Edit: ich glaub ich habs. Den eigentlichen Befehl zum Starten des Programms musste ich etwas erweitern, statt STARTBEFEHL unter start) in SCRIPT muss man mit su - root -c "STARTBEFEHL" das Programm starten Was genau bewirkt das, wenn ich root bin, starte ich nochmal etwas als root? Bin ich jetzt nur draufgekommen, weil andere wohl ähnliche Probleme hatten, die das aber nicht als root, sondern irgendeinem adminuser starten wollten....
__________________ Logfiles bitte immer in CODE-Tags posten Geändert von cosinus (16.05.2011 um 09:47 Uhr) |
16.05.2011, 14:46 | #8 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Wie auch immer, es läuft jetzt. Danke für die Antworten. Ganz offensichtlich muss man dieses Programm explizit mit einem User starten, deswegen das "su - root -c" vor dem befehl. Nur der Befehl im initscript funktioniert nur wenn man es manuell startet.
__________________ Logfiles bitte immer in CODE-Tags posten |
16.05.2011, 23:12 | #9 |
/// Winkelfunktion /// TB-Süch-Tiger™ | eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart Gedankennotiz für mich: prüfen ob das Teil auch ohne root laufen kann. Mit vollen rechten hab ich immer Bauchschmerzen
__________________ Logfiles bitte immer in CODE-Tags posten |
Themen zu eigenes /etc/init.d Script startet manuell aber nicht beim Systemstart |
64-bit, check, code, debian, funktioniert, heute, inhalt, legen, nenne, neustarten, nötig, ordner, posten, problem, prozess, richtig, script, server, starte, starten, startet, status, systemstart, unbedingt, verweise, virtuelle, world |