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

Diskutiere Init-Skript für Suse 10.0 zum Wake On Lan starten im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo Ich möchte folgenden Befehl mit einem Init-Skript beim booten des Rechners starten. Leider habe ich fast keine Ahnung von den...

  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. 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. ;)
     
  3. #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 :]
     
  4. 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.
     
  5. #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
     
  6. 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. ;)
     
  7. #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
     
  8. #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.
     
  9. #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:
     
  10. 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. ;)
     
  11. #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. Daten für eine Homepage optimieren und verarbeiten?!

    Daten für eine Homepage optimieren und verarbeiten?!: Hi Ihr wisst ja sicher es gibt viele offene Daten die von der Regierung kostenlos zur Verfügung gestellt werden darunter auch "echt zeit daten"....
  3. [gelöst] - for file in ... nur für bestimmte Endungen?

    [gelöst] - for file in ... nur für bestimmte Endungen?: Hallo Zusammen Ich habe einen eigenen Server und das Ziel mittels einem Shell-Skript ein Verzeichnis auf neue Dateien zu überprüfen. Das Skript...
  4. Erweiterbarer Wrapper für GNU find

    Erweiterbarer Wrapper für GNU find: Hallo zusammen, Da ich hier noch einen Account habe, wollte ich mal dieses Forum nutzen, um ganz dreist ein wenig Eigenwerbung zu machen :) Ich...
  5. Suche erweiterbare Audio-APP für 768kHz

    Suche erweiterbare Audio-APP für 768kHz: Kennt jemand eine OS audio APP für den PC, welche höhere Bitraten unterstützt, bzw. die man entsprechend erweitern könnte? Auf dem WIN-Markt habe...