Init-Skript für Suse 10.0 zum Wake On Lan starten

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von micologe, 20.07.2006.

  1. #1 micologe, 20.07.2006
    micologe

    micologe Jungspund

    Dabei seit:
    05.05.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo

    Ich möchte folgenden Befehl mit einem Init-Skript beim booten des Rechners starten.
    Leider habe ich fast keine Ahnung von den Init-Skripten in Suse....
    Ich hoffe da kann mir jemand hier weiterhelfen....

    Also ich möchte das Suse den Befehl:
    Code:
    ethtool -s eht0 wol g
    Das Skript muss ich dann in /etc/init.d/ abspeichern und zu dem Runlevel also rc3.d und rc5.d verknüpfen, oder???
    Muss ich sonst noch etwas beachten?


    Wie muss es beginnen?
    -mit #!/bin/sh ???
    -aber nun ist es schon vorbei.....

    Oder gibt es eine andere Möglichkeit, einen Befehl direkt mit dem booten auszuführen?

    Ciao mfg MIC

    PS: Falls jemand schon so ein Skript hat, bin ich ihm nicht böse, wenn er es mir per PM senden würde....:D

    Schon mal vielen Dank im vorraus
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Zum Aufbau von init-Skripten haette http://www.google.de/linux dir sicherlich weiter geholfen und das sollte auch der erste Anlaufpunkt bei solche allgemeinen Fragen sein, denn Antworten darauf wirst du Unmengen finden. However... zuerstmal solltest du dich mit Shell-Scripting beschaeftigen. Ein guter Anfang waeren sicherlich folgende Seiten:

    http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
    http://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html
    http://www.tldp.org/LDP/abs/html/

    Weiterhin muss ein init-Skript immer die Parameter 'start' und 'stop' verstehen, damit es vom init-System genutzt werden kann. Der Grundaufbau muss also folgender sein:

    Code:
    #!/bin/bash
    
    echo "Starte blablaservice"
    
    case "$1" in 
    start)
           tuediesundjenes
           ;;
    stop)
           daszumauschaltenmachen
           ;;
    *)
           undhierwirddiehilfeausgegeben
           ;;
    esac
    
    exit 0
    
    logischerweise muesste dein Skript dann also so aussehen:

    Code:
    #!/bin/bash
    
    PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
    
    echo "Starte blablaservice"
    
    case "$1" in 
    start)
           ethtool -s eht0 wol g
           ;;
    stop)
           killall ethtool
           ;;
    *)
           echo "Usage: `basename $0` {start|stop}" >&2
           exit 42
           ;;
    esac
    
    exit 0
    
    Natuerlich ohne Gewaehr. ;)
     
  4. #3 damager, 20.07.2006
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    oder man trägt diesen aufruf in die /etc/init.d/boot.local ein :]
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Und das macht man dann immer so, bis man selbst nicht mehr weiss, was in der boot.local alles gestartet wird. ;) Ich gebe zu, dass ich das frueher auch so gemacht haette, aber mittlerweile die Loesung ueber ein init-Skript wesentlich sauberer finde, vor allem, weil man z.B. den Service auch mit dem gleichen Skript beenden kann und weil ein Blick in /etc/init.d/ reicht um zu sehen, welche Services zur Verfuegung stehen. Ausserdem laesst sich das ganze so einfach ueber einen Runlevel-Editor deaktivieren ohne dass man nochmal irgendwelche Dateien bearbeiten muss.
     
  6. #5 micologe, 20.07.2006
    micologe

    micologe Jungspund

    Dabei seit:
    05.05.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Danke für die schnelle Antwort...

    Naja das mit google.de habe ich ja schon versucht, aber da meine Programmierkenntnisse gleich Null sind, haben mir diese Beispielskripten und wie sie aufgebaut sind nicht wirklich weitergeholfen....so wie dein erstes Beispiel!

    Im 2. hab ich da schon ein wenig mehr durchblick, wie ich es anstellen muss, das es funktioniert. Naja bis auf die Variable PATH=.........., sag jetzt aber bitte nicht, das es Pfad heisst, weil so schlau bin ich auch selbst....:] ;)
    Nun zu der Frage, Für was der Pfad, für das Skript, oder den Befehl?

    Die andere Möglichkeit hätte ich als nächstes versucht, ich hätte den Befehl abeer zu dem Network Startskript (/etc/init.d/network) ganz am Ende hinzugefügt.
    Das wäre doch auch eine Lösung, oder? Aber wahrscheinlich noch unsauberer als die in der /etc/init.d/boot.local.....oder? :think:

    Naja ich werde nun mal die Möglichkeit mit Skript 2 versuchen, mal schauen, obs klappt...

    Ciao mfg MIC
     
  7. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Skript 2 sollte eigentlich funktionieren. Damit du das ganze verstehst, solltest du einfach mal die von mir vorgeschlagenen Tutorials lesen, denn mir fehlt sowohl die Zeit als auch die Lust hier eine Einfuehrung in Shell-Skripting zu geben, vor allem, weil es diese schon zig mal im WWW gibt. Dann wuerdest du auch herausfinden, dass die PATH-Variable die Pfade festlegt, in denen das System nach ausfuehrbaren Dateien sucht. Durch setzen der PATH-Variable im Skript wird also sicher gestellt, dass das Programm auch ohne Angabe eines absoluten Pfades gefunden wird. Solltest du die ausfuehrbare Datei des Programms in einem anderen Ordner als einem der aufgefuehrten Ordner installiert haben, musst du natuerlich dafuer sorgen, dass der Ordner, in dem die Datei 'ethtool' liegt auch im PATH angegeben wird.
    Und ja, das rumeditieren in einem so essentiellen Shell-Skript mit deinen fehlenden Kenntnissen waere sicherlich noch unsauberer. Vor allem, weil die /etc/init.d/network mit einem 'exit' abgeschlossen ist, so dass dein Befehl niemals ausgefuehrt worden waere, wenn du ihn ganz ans Ende geschrieben haettest.

    Sonst bleibt mir nur dir noch viel Spass beim Lesen der Tutorials zu wuenschen. ;)
     
  8. #7 micologe, 22.07.2006
    micologe

    micologe Jungspund

    Dabei seit:
    05.05.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Also das mit dem Skript 2 funktionier leider auch nicht.....

    Nochmal zur Sachlage:
    Ich muss den Befehl ausfüren, mit den angegebenen Parametern, um meiner Netzwerkkarte klar zu machen, das sie die Wake On Lan-Funktion aktivieren soll.
    Wenn ich per Hand einschalte und dann den Befehl per Hand in der Shel eingebe, also
    Code:
    ethtool -s eth0 wol g
    und mit Enter bestätige, dann bekomme ich mit der Abfrage durch
    Code:
    ethtool eth0
    angezeigt, das Wake on Lan aktiviert ist. Nun wenn ich runterfahre, geht es auch mit
    Code:
    wol <MAC-ADRESSE
    den Rechner aufzuwecken. Aber wenn dann neu Boote nach einem Shutdown, dann funktioniert es eben nicht mehr.....
    Daher möchte ich, das Suse diesen Befehl automatisch nach jedem Start ausführt.
    Was gibt es da sonst noch für Möglichkeiten, den Befehl automtisch zu starten???
    Mit dem Eintrag in die /etc/init.d/boot.local funktioniert es auch nicht....

    Ich weis mittlerweile echt nicht mehr, wo ich noch schauen soll, da di Suchergebnisse in Google.de mit <Wake on Lan oder wol, oder.....> auch nicht gerde recht positiv ausfallen.

    Kann ich evtl meiner NIC den Parameter beim starten schon zuweisen?

    Ich hoffe das weis jemand von euch eine gute Lösung.... :)

    Peace mfg MIC
     
  9. #8 theton, 22.07.2006
    Zuletzt bearbeitet: 22.07.2006
    theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Wenn es mit dem init-Skript nicht funktioniert, hast du es wahrscheinlich zu frueh oder zu spaet gestartet. Das kannst du einfach durch Aenderung der Nummer des Links im Default-Runlevel aendern.
     
  10. #9 micologe, 23.07.2006
    micologe

    micologe Jungspund

    Dabei seit:
    05.05.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Hier ist eine tolle Lösung....

    Hier beschreibt der Autor Lukas Zimmerman, wie das mit dem Wake On Lan ohne ein Init-Skript funktioniert.....:D

    PS: ich hasse Init-Skripte!:brav:
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Na dann loesche mal den Inhalt von /etc/init.d/ und erzaehle mir dann nochmal, dass du init-Skripte hasst. ;)
     
  13. #11 micologe, 26.07.2006
    micologe

    micologe Jungspund

    Dabei seit:
    05.05.2006
    Beiträge:
    11
    Zustimmungen:
    0
    INIT-Skript;INIT-Skript;INIT-Skript;INIT-Skript;INIT-Skript;INIT-Skript;INIT-Skript;I

    tja, das mach ich jetzt dann schon mal....:D


    Und dann hau ich mir Windows auf die Kiste.:headup:


    Und dann... Und dann...X(


    Naja, dann akzeptiere ich vielleicht mal ein bis zwei Init-Skripte.....evtl auch drei:devil:

    Nee nicht wirklich, bin froh das mein Suse läuft, egal ob mit diesem Init-Skript oder nicht....

    Ach ja, da hätte ich noch eine andere Lösung....
    Nämlich die hier
    Auch eine interessante Methode, da es aber bei mir jetzt funktionier, habe ich mich damit nicht allzuviel beschäftigt und ich kann nicht sagen, ob es klappt damit.

    PEACE bis zum nächsten Problem:D


    mfg MIC
     
Thema:

Init-Skript für Suse 10.0 zum Wake On Lan starten

Die Seite wird geladen...

Init-Skript für Suse 10.0 zum Wake On Lan starten - Ähnliche Themen

  1. Init-Skript shell starten

    Init-Skript shell starten: Hallo Zusammen, ich bin nicht grade fit was shell-skripte angeht. ich habe nun ein kleines skript das mir den jboss auf suse 10.1 starten soll....
  2. SAMBA für Windows10 Domäne einrichten

    SAMBA für Windows10 Domäne einrichten: Hallo, ich habe letztes Wochenende verzweifelt versucht, Samba auf meinem Server einzurichten, daher versuche ich aktuell meinen Fehler zu...
  3. Empfehlung für Server Distribution

    Empfehlung für Server Distribution: Hallo, ich habe hier zu Hause einen kleinen Heimserver, auf welchem ich ein paar Daten für den Zugriff im Haus, einen kleinen Web Service für...
  4. Kleinigkeiten für Euch, mich nicht :-) pkg_add ; DVD rw mounten

    Kleinigkeiten für Euch, mich nicht :-) pkg_add ; DVD rw mounten: Hallo, ich habe 2 Problemchen. Ich kann nichts mehr installieren. Ich brauche aber unbedingt ein Brenn-Programm. Ein schönen Partitionierer usw....
  5. Welche Distri für Programming from the Ground Up

    Welche Distri für Programming from the Ground Up: Hallo! Ich möchter gerne das Buch Programming from the Ground Up durcharbeiten. savannah_nongnu_org/projects/pgubook/ Da geht es um Programmieren...