Hallo Michael,

das ist eine gute Idee mit dem Skript.

Ich würde es aber sinnvoller finden, wenn man einen Raum übergibt, das
Skript die Workstationsdatei nimmt, alle Hosts (bis auf z.B. den
Drucker) nimmt und die Hostnamen, bzw. IP-Adressen in ein Array packt
und dieses Array abgearbeitet wird.

So wird das ganze dynamisch und nicht so statisch und du ersparst dir
viele Wiederholungen in deiner Programmierung.

Meine 2-Cents ;-)...

Gruß
Hendrik

Am 06.02.2015 um 22:03 schrieb Michael Hagedorn:
> Hi.
> Ich habe (nachdem ich in Jeskos Firefox-Script gesehen habe, wie
> einfach es geht...) gerade ein neues Script für den Server gebastelt,
> welches folgenden Sinn und Zweck erfüllt:
>
> Bei uns ist es so, dass nicht mehr als 8 bis höchstens 10 Clients
> gleichzeitig über's Netzwerk mit einem aktuellen Image versorgt werden
> können (via torrent). Sobald es _noch_ mehr werden, bricht die
> Geschwindigkeit ziemlich ein und macht das ganze kontraproduktiv.
> Daher wollte ich eine Lösung haben, bei der die Clients sozusagen
> portionsweise in 8er Gruppen versorgt/aktualisiert werden. Der
> "linbo-remote"-Befehl kann zwar die Option -g für eine ganze HWK, doch
> das hat hier nie richtig geklappt; bzw. blieben damit immer viele
> Clients "unversorgt", da der Befehl nicht überall angekommen ist. Evtl
> wurde er auch einfach zu schnell abgearbeitet!?? Die Diskussion hatten
> wir hier in der Liste vor einiger Zeit schon mal (imho ergebnislos?) ...
>
> ... aber wie auch immer: Diese Lösung hier macht es mit der -i Option
> pro IP-Adresse und wartet zwischendurch ein paar Sekunden. Wer's
> brauchen kann --> bitte sehr!
>
> Ach ja: Verbesserungsvorschläge sind natürlich willkommen. Ich habe
> nicht _alles_ in Variablen gepackt -- daher sind bei euch ein paar
> Anpassungen bzgl der benutzten IP-Adressen notwendig. Zudem gibt's
> wahrscheinlich einen eleganteren Weg beim Aufteilen der "Portionen".
> Aber für den Anfang funktioniert es...
>
> Michael
>
> -----------------------------------------------------------------------
>
> #!/bin/bash
>
> # Version 1.0 - 06.02.2015
> # Räume  synchronisieren -- mit Auswahlmenu
> # Voraussetzung: start.conf.trusty714 --> Autostart abschalten!
> # Danach laufen alle Clients bis zum LINBO-Startbildschirm hoch und
> # warten auf "linbo-remote"
>
> function what_to_do() {
> PS3="Was soll alles gemacht werden: "
> echo " ";
> command1="format,initcache:torrent,sync:1,sync:2,start:1";
> command2="format,initcache:torrent,sync:1,sync:2,halt";
> command3="initcache:torrent,sync:1,sync:2,start:1";
> command4="sync:1,sync:2,halt";
>
> select auswahl2 in $command1 $command2 $command3 $command4 Ende
> do
> case "$auswahl2" in
> "") echo "Ungültige Auswahl" ;;
> $command1) command=$command1; break ;;
> $command2) command=$command2; break ;;
> $command3) command=$command3; break ;;
> $command4) command=$command4; break ;;
> *) echo "Ende"; exit 0 ;;
> esac
> done
> }
>
> function lehrerpc_sync() {
>      linbo-remote -i 10.16.100.100 -c $command &
>      sleep 5
>      linbo-remote -i 10.16.200.100 -c $command &
>      sleep 5
> }
>
>
> function raum1_sync() {
>   # 8 Clients können max gleichzeitig bedient werden -- Script wird
> daher aufgeteilt:
>   # Die ersten 8 Clients:
>     for((i=1;i<9;i++)); do
>      #ping -c 1 -w 1 10.16.100.$i &>/dev/null &&
>      #echo 10.16.100.$i
>      linbo-remote -i 10.16.100.$i -c $command &
>      sleep 10
>     done
>
>   # 10 Minuten schlafen legen bis alle Caches synchronisiert sind
>   sleep 600
>
>   # Die zweiten 8 Clients:
>      for((i=9;i<17;i++)); do
>      #ping -c 1 -w 1 10.16.100.$i &>/dev/null &&
>      #echo 10.16.100.$i
>      linbo-remote -i 10.16.100.$i -c $command &
>      sleep 10
>     done
>
>   # 1 Minuten Warten bis alle fertig sind
>     sleep 60
> }
>
>
>
> function raum2_sync() {
>   # 9 Clients können max gleichzeitig bedient werden -- Script wird
> daher aufgeteilt:
>
>   # Die ersten 9 Clients:
>     for((i=1;i<10;i++)); do
>     #ping -c 1 -w 1 10.16.200.$i &>/dev/null &&
>     #echo 10.16.200.$i
>     linbo-remote -i 10.16.200.$i -c $command &
>     sleep 10
>     done
>
>   # 10 Minuten schlafen legen bis alle Caches synchronisiert sind
>   sleep 600
>
>   # Die zweiten 9 Clients:
>     for((i=10;i<19;i++)); do
>     #ping -c 1 -w 1 10.16.200.$i &>/dev/null &&
>     #echo 10.16.200.$i
>     linbo-remote -i 10.16.200.$i -c $command &
>     sleep 10
>    done
>
>   # 10 Minuten schlafen legen bis alle Caches synchronisiert sind
>   sleep 600
>
>   # Die dritten 9 Clients:
>     for((i=19;i<28;i++)); do
>     #ping -c 1 -w 1 10.16.200.$i &>/dev/null &&
>     #echo 10.16.200.$i
>     linbo-remote -i 10.16.200.$i -c $command &
>     sleep 10
>     done
>
>   # 10 Minuten schlafen legen bis alle Caches synchronisiert sind
>   sleep 600
>
>   # Die letzten 9 Clients:
>     for((i=28;i<37;i++)); do
>     #ping -c 1 -w 1 10.16.200.$i &>/dev/null &&
>     #echo 10.16.200.$i
>     linbo-remote -i 10.16.200.$i -c $command &
>     sleep 10
>     done
>
>   # 1 Minuten Warten bis alle fertig sind
>   sleep 60
> }
>
> echo "";
> echo "**************************************************************";
> echo "***   LINBO-REMOTE: Clients serverseitig synchronisieren   ***";
> echo "**************************************************************";
> echo "";
> PS3="Durch Tippen der Ziffer wählen: ";
> echo "Welche Clients sollen synchronisiert werden?";
> echo " ";
> select auswahl in Raum1 Raum2 Beide LehrerPCs Ende
> do
> case "$auswahl" in
> "") echo "Ungültige Auswahl" ;;
> Raum1) what_to_do; raum1_sync; break ;;
> Raum2) what_to_do; raum2_sync; break ;;
> Beide) what_to_do; raum1_sync; raum2_sync ; break ;;
> LehrerPCs) what_to_do; lehrerpc_sync ; break ;;
> *) echo "Ende"; break ;;
> esac
> done
>
> #EOF
>
>
> -
> --------------------------------------------------------------------------------
>
> _______________________________________________
> linuxmuster-user mailing list
> [email protected]
> https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

-- 
Hendrik Hagenow

zweiteSchule gemeinnützige GmbH
Weinbergstraße 5
D-77933 Lahr

Mobil: +49 (0) 176 810 151 91
Mail: [email protected]
Web: http://www.2schule.de

Ust-ID: DE 273417204
Registergericht: Amtsgericht Freiburg, Registernummer: HRB 705635,
Geschäftsführer: Stefan Grözinger

-- 
Hendrik Hagenow

zweiteSchule gemeinnützige GmbH
Weinbergstraße 5
D-77933 Lahr

Mobil: +49 (0) 176 810 151 91
Mail: [email protected]
Web: http://www.2schule.de

Ust-ID: DE 273417204
Registergericht: Amtsgericht Freiburg, Registernummer: HRB 705635, 
Geschäftsführer: Stefan Grözinger


_______________________________________________
linuxmuster-user mailing list
[email protected]
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an