Automatisierung via Netzwerk funktioniert nicht richtig

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Romulus1689, 02.07.2014.

  1. #1 Romulus1689, 02.07.2014
    Romulus1689

    Romulus1689 Foren As

    Dabei seit:
    08.12.2007
    Beiträge:
    96
    Zustimmungen:
    0
    Hey Leute,
    Habe da ein Problem das ich einfach nicht verstehe und wo ich auch nicht weis wonach ich suchen soll, folgender Code:
    Code:
    #!/bin/bash
    # Neustart auf allen Rechnern planen
    
    HOSTS="host1 host2 host3"
    DOMAIN=".myhome.local"
    
    for HOST in $HOSTS ; do
      echo "Plane neustart für $HOST:"
      sshpass -p "PASSWORD" ssh -o StrictHostKeyChecking=no admin@$HOST$DOMAIN 'echo PASSWORD | sudo -S bash -c "/usr/bin/nohup /sbin/shutdown -r 03:00 & 2>/dev/null"'
      echo "Neustart eingeplant!"
    done
    
    Das Skript soll für alle Rechner die in der Variable HOSTS angegeben sind einen Neustart für 3h nachts einplanen, ohne dass ich ein Passwort auf den Rechnern eingeben muss.

    Das Problem ist, wenn ich das Skript ausführe, bleibt es immer nach dem ersten Host "hängen", es passiert danach einfach nichtsmehr, als ob er auf eine Eingabe warten würde. aber alles ENTER drücken und sonstwas bingt nichts, da kann man nur noch mit ctrl-c abbrechen. Der Fehler schein irgendwo beim Befehl der ausgeführt wird selbst zu liegen, da folgendes Skript problemlos funktioniert:

    Code:
    #!/bin/bash
    # Updates auf allen Server durchfuehren
    
    HOSTS="host1 host2 host3"
    DOMAIN=".myhome.local"
    
    for HOST in $HOSTS ; do
      echo "Update Host $HOST:"
      sshpass -p "PASSWORD" ssh -o StrictHostKeyChecking=no admin@$HOST$DOMAIN 'echo PASSWORD | sudo -S bash -c "apt-get -y update && apt-get -y upgrade"'
    done
    
    Hat da jemand eine Ahnung oder einen Ansatz woran das liegen könnte??

    Vlg
    Romulus1689
     
  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    Gibt's einen Grund dafür, daß Du nicht auf jedem Host
    - sudo so konfigurierst, daß es den shutdown-Befehl ohne PW ausführen darf
    - dich per PublicKey ohne PW direkt per ssh anmeldes?

    ... dann würde sich das Problem vermutlich in Wohlgefallen auflösen,
     
  4. #3 Romulus1689, 02.07.2014
    Romulus1689

    Romulus1689 Foren As

    Dabei seit:
    08.12.2007
    Beiträge:
    96
    Zustimmungen:
    0
    Ja, weil ich diese umkonfiguration dann auf jedem Host machen müsste ;-)
    Habe allerdings nach ewigem rumprobieren den Fehler gefunden, ich musste nur STDOUT nach /dev/null und STDERR nach STDOUT umleiten dann hats geklappt. Ich nehme mal an das liegt daran, dass nach dem Shutdown Befehl direkt die Ausgabe mit der verbleibenden Zeit angezeigt wird oder so. Könnte natürlich auch was mit nohup zu tun haben.. ihc weis es also nicht ganz genau, jedenfalls funktionierts mit dieser Befehlszeile:
    Code:
    sshpass -p "PASSWORD" ssh -o StrictHostKeyChecking=no admin@$HOST$DOMAIN 'echo PASSWORD | sudo -S bash -c "/usr/bin/nohup /sbin/shutdown -r 03:00 > /dev/null 2>&1 &"'
    
    Ich hatte zuvor die umleitungen immer hinter dem "&".
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    Über die Tatsache, daß man das Passwort dann in der Prozessliste des aufrufenden Hosts auslesen kann bist Du dir bewusst?

    Die grundelegenden Rechte für solche Späße, gerade wenn man eine größere Anzahl von Rechnern damit verbasteln will macht man besser über ssh-Keys und entsprechende sudo-Konfigurationen, das ist sicherer, einfacher und wenn man sich 1x 10 Minuten hinsetzt in die automatische Installetion jeden Hosts integriert.

    Alternativ gibt's jede Menge fertige Tools, die zum parallelen Administrieren größerer Rechnerzahlen geeignet sind.
     
  6. Anzeige

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

Automatisierung via Netzwerk funktioniert nicht richtig

Die Seite wird geladen...

Automatisierung via Netzwerk funktioniert nicht richtig - Ähnliche Themen

  1. Mozilla ergreift Initiative in der Heimautomatisierung

    Mozilla ergreift Initiative in der Heimautomatisierung: Ari Jaaksi, Mozillas Leiter der Abteilung für vernetzte Geräte, hat vier Projekte vorgestellt, die eine offene Alternative für die...
  2. MyHomeBox: Gateway für interoperable Heimautomatisierung

    MyHomeBox: Gateway für interoperable Heimautomatisierung: Das Team von SGW Global zeigt auf der IFA 2015 mit der MyHomeBox ein Gateway für die Heimautomatisierung, das einen großen Teil der gängigen...
  3. Artikel: Spacewalk - Teil 3: Automatisierung und Kickstart

    Artikel: Spacewalk - Teil 3: Automatisierung und Kickstart: Im zweiten Teil dieser Artikel-Serie wurde die Registrierung und Verwaltung von Client-Systemen besprochen. Im dritten Teil geht es um die...
  4. FarmBot: Open-Source-Automatisierung für Landwirte und Gärtner

    FarmBot: Open-Source-Automatisierung für Landwirte und Gärtner: Die im letzten Jahr gegründete FarmBot Foundation hat in ihrem FarmBot-Projekt eine Maschine vorgestellt, mit der sich Beete und Felder...
  5. Neues Automatisierungsmodul für agorum core

    Neues Automatisierungsmodul für agorum core: Das Modul FileWorkflow 2.0 soll Arbeitsabläufe in der Dokumentenverwaltung agorum core vereinfachen und automatisieren. Weiterlesen...