Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linbo:linbo_remote]] 

Linbo-Remote Befehle / Scripte

Linbo Remote Befehle

LINBO bringt das Skript linbo-remote mit, das folgende Optionen kennt:

linbo-remote Parameter
-h	Zeigt die Hilfe.
-b <n>	Optional. Wartet n Sekunden bis das WOL-Magic-Packet an den nächsten Client gesendet wird. Dazu müssen -g und -w ebenfalls gesetzt sein.
-c <Befehl1,Befehl2,...>	Kommagetrennte Liste von LINBO-Wrapper-Befehlen (s.o.).
-g <Rechnergruppe>	Befehle werden an alle Mitglieder dieser Rechnergruppe geschickt.
-i <IP oder Hostname>	Befehle werden nur an diesen Rechner geschickt.
-l	Liste alle gerade laufenden linbo-remote-Prozesse auf.
-w <n>	Optional. Wartet n Sekunden nach dem Senden der WOL-Magic-Packete, um sicherzustellen, dass der/die Rechner in der Zwischenzeit den Bootvorgang abgeschlossen haben. Wichtig: Wird dieser Parameter verwendet, werden die Optionen Autopartition, Autoformat, AutoInitcache und Autostart in der entsprechenden start.conf-Datei für die Dauer der linbo-remote-Session deaktiviert.

Die Optionen -g und -i schließen sich gegenseitig aus.

Beispiele:

Die Rechnergruppe fs wird per Wake-on-lan aufgeweckt, nach 60 Sekunden werden die Befehle

  • synchronisiere das 1. und dann
  • das 2. Betriebssystem,
  • fahre danach wieder herunter,

an die Clients der Gruppe fs geschickt:

# linbo-remote -g fs -w 60 -c sync:1,sync:2,halt

Der Rechner r100-pc01 wird per Wake-on-lan aufgeweckt, nach 45 Sekunden werden die Befehle

  • partitioniere und formatiere alle Partitionen,
  • aktualisiere den Cache,
  • synchronisiere das 1., 2. und 3. Betriebssystem,
  • starte das 2. Betriebssystem,

an den Client geschickt:

 
# linbo-remote -i r100-pc01 -w 45 -c partition,format,initcache,sync:1,sync:2,sync:3,start:2

Die linbo-remote-Prozesse werden in Screen-Sessions im Hintergrund gestartet. Einen Überblick über die aktuell laufenden linbo-remote-Prozesse verschafft man sich mit dem Befehl

linbo-remote -l:

10:22/0 server ~ # linbo-remote -l
 1 7274 r100-pc01.linbo-remote (26.02.2010
 2 7276 r100-pc02.linbo-remote (26.02.2010

In der zweiten Spalte wird die Prozess-ID (pid), in der dritten der Prozessname ausgegeben. Soll ein linbo-remote-Prozess vorzeitig beendet werden, so übergibt man dem Kill-Befehl einfach die Prozess-ID:

# kill <Prozess-ID>

Die Ausgabe eines linbo-remote-Prozesses holt man sich mit

# screen -r <Prozessname>

in den Vordergrund.

Die Tastenkombination STRG+A+D schickt den Prozess wieder in den Hintergrund.

Linbo-Remote Scripte

Als Bash-Befehl kann linbo-remote natürlich auch ein ein Script eingebunden werden, obgleich der Befehl bereits mit den verschiedenen Parametern sehr mächtig ist. Hiermit könnten z.B. via Cronjob z.B. alle PCs einer Hardwareklasse zu einem bestimmten Zeitpunkt heruntergefahren werden. Von JA in der Liste zur Verfügung gestellt:

##########################################################################
# Um 15h ,18h 20h und um 23 Uhr alle Rechner herunterfahren                     ##
##########################################################################
# erst die, die im Linbo hängen:
1 15,18,20,23 * * * /usr/sbin/linbo-remote -g lenny -c halt > /dev/null 2>&1    #-g gibt die HWK an # alle Ausgaben werden an dev/null geschickt
# dann die mit Ubuntu oder Windows
1 15,18,20,23 * * * /root/skripte/herunterfahren.sh > /dev/null 2>&1
##########################################################################

Als Cronjob kann sich dann noch ein Skript anschließen, das Windows und Linux-Systeme herunterfährt:

#!/bin/bash
############## 
# "herunterfahren-ubuntu.sh durchsucht die Datei /etc/linuxmuster/workstations und fährt alle
# Rechner herunter,
# die nicht in einer der Gruppen sind, die bei FILTER angegeben sind 
# und die für den User "linadmin" passwortlos per ssh erreichbar sind.
###############

FILTER="grep -v -E 'server|nas|drucker|switch|mobil|display|esxi|verw'"
rpc_user=domadmin
rpc_pwd=HIER DAS PASSWORT
kommentar='Verantwortungsvolle Energienutzung!  Automatische Abschaltung aus Energiespargruenden!'

for RECHNER in $(cat /etc/linuxmuster/workstations | $FILTER | cut -d ";" -f 5) ;
do
	if ping -c 1 $RECHNER -w1 >/dev/null
    then
    	ssh -o StrictHostKeyChecking=no linadmin <at> $RECHNER ausschalten &
        net rpc SHUTDOWN -C "$kommentar" -f -t 300 -I $RECHNER -U $rpc_user%$rpc_pwd &
    fi
done
############## Ende Datei "herunterfahren.sh"

Dies lässt sich auch mit WOL (Wake-on-LAN) Funktionen erreichen.

WOL-Script ohne Linbo-Remote (in der Liste von MH zur Verfügung gestellt)

#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

# gr. Raum per WOL aufwecken
# Hier eintragen welche Gruppe und wieviele Clients darin sind:
Gruppe="client34";
Anzahl="34";

for((i=1;i<$Anzahl+1;i++)); do

# Alle MAC-Adr von Raum 2 (Client34) auslesen:
# cut sorgt dafür, dass nur die 4. Spalte angezeigt wird.
# head und tail sorgen dafür, dass NUR die i. Zeile ausgegeben wird.
IPadr="$(grep $Gruppe /var/linbo/workstations |cut -d ";" -f 5 |head -n $i
|tail -n 1)";
Macadr="$(grep $Gruppe /var/linbo/workstations |cut -d ";" -f 4 |head -n
$i |tail -n 1)";

# wakeonlan muss installiert sein:
# echo $IPadr $Macadr $Gruppe $Anzahl;
wakeonlan -i $IPadr $Macadr;
#Bei Bedarf eine Pause einfügen:
#sleep 1
done

exit 0

Weitere Linbo-Skripte (OS-Erkennung, Komplettes Sync-Script, ...) von thoschi

 [[anwenderwiki:linbo:linbo_remote]] anwenderwiki/linbo/linbo_remote.txt · Zuletzt geändert: 2014/08/12 13:43 (Externe Bearbeitung)