Thema geschlossen
Ergebnis 1 bis 9 von 9

Thema: (Gelöst) Skript beim booten ausführen

  1. #1
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard (Gelöst) Skript beim booten ausführen

    hi,

    bin noch ziemlich unubedarft unterwegs und hätte da ein problem:

    ich habe folgenden skript, dass ich gerne beim booten ausführen würde:


    Code:
    #!/bin/bash
    
    #############################################
    # bonds all network devices together as bond0
    #############################################
    
            echo "Bonding devices eth0 to eth3 to bond0"
            /sbin/modprobe bonding mode=0 miimon=100
            /sbin/ifconfig eth0 down
            /sbin/ifconfig eth1 down
            /sbin/ifconfig eth2 down
            /sbin/ifconfig eth3 down
            /sbin/ifconfig bond0 hw ether 00:13:72:F7:97:3f
            /sbin/ifconfig bond0 143.93.78.164 up
            /sbin/ifconfig bond0 netmask 255.255.255.0
            /sbin/ifconfig bond0 mtu 1500
            /sbin/ifenslave bond0 eth0
            /sbin/ifenslave bond0 eth1
            /sbin/ifenslave bond0 eth2
            /sbin/ifenslave bond0 eth3
            /sbin/route add default gw 143.93.78.254
    das ganze skript habe ich bonding genannt und nach /etc/init.d kopiert

    dann habe ich noch in rc3.d einen link drauf gemacht per ln -s /etc/init.d/bonding S18bonding und einen entsprechenden K18bonding

    S18 ist die letzte nummer in der liste...

    leider machte er aber nicht was ich will, er hat beim start immer eine andere netzwerkkonfiguration...

    von hand ausgeführt funktioniert das skript...

    danke für alle tips
    anselmus
    Geändert von Anselmus (06.02.2007 um 14:34 Uhr)

  2. #2
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard AW: skript beim booten ausführen

    Zunächst mal das:

    http://www.pc-forum24.de/root-forum/...n-bringen.html

    => Bitte erstes Posting dementsprechend abändern.

    OnTopic:

    Das Script wird so nicht funktionieren, weil ihm der passende Header für ein SuSE-Init-Script fehlt, siehe z.B. (Postings von b3ll3roph0n sind da besonders lesenswert)

    http://www.pc-forum24.de/system-konf...ht=startscript

    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  3. #3
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard AW: skript beim booten ausführen

    danke für den tip.

    werde es gleich mal probieren. hätte da noch eine frage zu.

    muss ich die start, stop und restart in der case-anweisung verarbeiten oder ist das nur der benutzerfreundlichkeit wegen? oder wird beim booten automatisch der abschnitt start aufgerufen?

    viele grüße
    anselmus

  4. #4
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard AW: skript beim booten ausführen

    mein skript sieht jetzt folgendermaßen aus:

    Code:
    #!/bin/bash
    # /etc/init.d/bonding
    #
    ### BEGIN INIT INFO
    # Provides: bonding
    # Required-Start:
    # Should-Start:
    # Required-Stop:
    # Should-Stop:
    # Default-Start: 3
    # Default-Stop:
    # Description: Bonds network devices
    ### END INIT INFO
    
    . /etc/rc.status
    rc_reset
    
    echo "Bonding devices eth0 to eth3 to bond0"
    /sbin/modprobe bonding mode=0 miimon=100
    /sbin/ifconfig eth0 down
    /sbin/ifconfig eth1 down
    /sbin/ifconfig eth2 down
    /sbin/ifconfig eth3 down
    /sbin/ifconfig bond0 hw ether 00:13:72:F7:97:3f
    /sbin/ifconfig bond0 143.93.78.164 up
    /sbin/ifconfig bond0 netmask 255.255.255.0
    /sbin/ifconfig bond0 mtu 1500
    /sbin/ifenslave bond0 eth0
    /sbin/ifenslave bond0 eth1
    /sbin/ifenslave bond0 eth2
    /sbin/ifenslave bond0 eth3
    /sbin/route add default gw 143.93.78.254
    leider funktionierts immer noch nicht

  5. #5
    Lehrling
    Registriert seit
    08.08.2006
    Beiträge
    226

    Standard AW: skript beim booten ausführen

    Zitat Zitat von Anselmus Beitrag anzeigen
    muss ich die start, stop und restart in der case-anweisung verarbeiten oder ist das nur der benutzerfreundlichkeit wegen? oder wird beim booten automatisch der abschnitt start aufgerufen?
    Ja, die case-Anweisung ist wichtig!
    Beim Booten der Init-Script wird
    Code:
    <scriptname> start
    und beim Shurdown
    Code:
    <scriptname> stop
    aufgerufen.

    In der Stop-Anweisung musst du das ganze natürlich umgekehrt angeben - also die Interfaces abschalten und das Interface-Bonding lösen.

    Ein netter Nebeneffekt ist dann auch, dass du mit
    Code:
    <scriptname> restart
    die Netzverbindung im laufenden Betrieb neustarten kannst.

    Außerdem musst du in dem Header auch angeben welche Scripte zuvor gestartet werden sollen.
    z.B.:
    Code:
    # Required-Start:    $local_fs
    Wenn keine Dienste angegeben sind, gehen inserv bzw. der YaST-Runlevel-Editor davon, aus, dass das Script ganz zu Beginn des Bootvorgangs ausgeführt werden soll, ohne dass schon andere notwendige Dienste gestartet worden sind.
    Gruß b3ll3roph0n
    --
    Denken hilft !

    Für alle meine Beiträge gelten, außer bei Zitaten, die Creative Commons.

  6. #6
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard AW: skript beim booten ausführen

    habe das jetzt mal probiert, allerdings passiert leider immer noch nichts... das skript scheint gar nicht ausgeführt zu werden, also zu keinem zeitpunkt...

    so sieht es jetzt aus:

    Code:
    #!/bin/bash
    # /etc/init.d/bonding
    #
    ### BEGIN INIT INFO
    # Provides: bonding
    # Required-Start: $local_fs $network
    # Should-Start:
    # Required-Stop:
    # Should-Stop:
    # Default-Start:  2 3
    # Default-Stop:
    # Description: Bond network devices
    ### END INIT INFO
    
    . /etc/rc.status
    rc_reset
    
    case "$1" in
            start)
            echo "#####################################"
            echo "Bonding devices eth0 to eth3 to bond0"
            /sbin/modprobe bonding mode=0 miimon=100
            /sbin/ifconfig eth0 down
            /sbin/ifconfig eth1 down
            /sbin/ifconfig eth2 down
            /sbin/ifconfig eth3 down
            /sbin/ifconfig bond0 hw ether 00:13:72:F7:97:3f
            /sbin/ifconfig bond0 143.93.78.164 up
            /sbin/ifconfig bond0 netmask 255.255.255.0
            /sbin/ifconfig bond0 mtu 1500
            /sbin/ifenslave bond0 eth0
            /sbin/ifenslave bond0 eth1
            /sbin/ifenslave bond0 eth2
            /sbin/ifenslave bond0 eth3
            /sbin/route add default gw 143.93.78.254
            ;;
            stop)
            echo "Freeing devices eth0 to eth3 from enslavement"
            /sbin/ifenslave -d bond0 eth0
            /sbin/ifenslave -d bond0 eth1
            /sbin/ifenslave -d bond0 eth2
            /sbin/ifenslave -d bond0 eth3
            ;;
            restart)
            echo "Freeing and enslaving network devices"
            ;;
            *)
            echo "usage: bonding start|stop|restart"
            ;;
    esac
    wenn ich es von hand starte (./bonding start) funktioniert es einwandfrei...

  7. #7
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard AW: skript beim booten ausführen

    so geht jetzt. hab die voraussetzungen geändert.

  8. #8
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard AW: skript beim booten ausführen

    Und wie?

    Könnte jemand anderen vielleicht interessieren, der ein ähnliches Vorhaben hat.

    Zitat Zitat von Forenregeln
    12: Sollte euer Problem gelöst sein, so schreibt bitte eine Anmerkung dazu und bitte auch WELCHE Lösung zum Ziel geführt hat. Die Helfer nehmen sich FREIWILLIG die Zeit, euch bei der Lösung eines Problemes zu helfen, also nehmt euch auch die Zeit, Rückmeldung zu geben. Jemand anderes mit dem selben Problem wird das nützen.
    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

  9. #9
    Newbie
    Registriert seit
    01.02.2007
    Beiträge
    9

    Standard AW: skript beim booten ausführen

    ich habe das so gemacht:

    Code:
    # Required-Start: $localfs $network $webmin
    damit hats funktioniert

Thema geschlossen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87