Clonen von Systemen : Scripting – Teil 02

Aufbau des Script-Systems
1. Verzeichnis
Verzeichnis wo die Scripte abgelegt sind:
./Daten/Cloning-Scripte                     =  Scripte
./Daten/Cloning-Scripte/daten       =  gesammelte Daten

Da wir hier unter Linux und nicht Windows arbeiten sind diese Verzeichnisse „case-sensitiv“!

2. einzelne Scripte
2.1 scan_analyse-network.sh   =  ‚main‘-Programm
scan_mac_list_v1.2.1.inc      =  include von ‚procedures‘
Funktion:
Erzeugt eine Datei in der die MAC-Adressen der PC’s des Netzwerks aufgelistet sind.
Hinzu kommen noch die von einem DHCP bei  Cloning vergebenen IP-Adressen und zu guter Letzt noch ein DNS-Namen, wenn er ermittelt werden konnte.
Wenn man will, so kann man diese Datei auch manuell mit einem Editor erzeugen bzw. ergänzen.
Der Schritt 2.1 gehört eigentlich zur Master-Clone Erstellung ( Imaging). Das es für die Erzeugung ‚arp_mac_ip_dns_liste‚  Datei zuständig ist und mit dem Cloning auf jeden PC weitergegeben wird.

2.2 hosts-hostname-v1.0.1.sh  = ‚main‘-Programm
Funtktion:
Aktualisiert die ‚/etc/hostname‘ und ‚/etc/hosts‘ Dateien.
Durch die ‚arp_mac_ip_dns_liste‚ Datei hat man die Daten aller PC’s des Netzwerkes zur Verfügung und kann somit durch das Eintrage der gesammelten Informationen in die ‚/etc/hosts‘  ein kleinen „Quasi“ DNS-Server aufbauen. Der Vorteil hierbei ist noch, das das Netzwerk durch DNS-Abfragen nicht belastet wird, da sämtliche Information hierfür lokal in der  ‚/etc/hosts‘ eines jeden PC’s schon abgelegt ist.

2.3 build-interfaces.sh  = ‚main‘-Programm
Funktion:
Konfiguriert die Datei, die für die Netzwerkfunktionalität zuständig sind. Das ist die Datei ‚/etc/network/interfaces‘.
z.B.:

2.4 rc.local + stop-cloning.sh
Damit das ganze auch einmalig beim ersten Bootvorgang ohne eingreifen des Administrator funktioniert muss auch die Datei ‚/etc/rc.local‚ angepasst werden.

Funktion:
Das Script ‚stop-cloning.sh‚ entfernt die Einträge:

in der Datei ‚/etc/rc.local‚.

Quelltext:   Script-System

3. Include Dateien
Die ‚include‘ Dateien sind eine elegante und sehr alte Methode immer wiederkehrende und verwendete Programmteile auszulagern. Es kann sich dabei um reinen Progam-Code (Funktionen, Prozeduren) oder Variablen-, Konstanten-Definitionen handeln.
„Dabei gilt es natürlich die entsprechenden Syntax und Grammatik Regeln der jeweiligen Progammier-Sprache in Hinblick auf Verwendung von ‚include‘ zu berücksichtigen.  Dabei habe ich kaum eine Programmier-Sprache gefunden in der das nicht Möglich wäre, selbst in HTML5 ist mit kleineren Hürden eine Art ‚include‘ zu konstruieren und zu verwenden! Ich selbst benenne in der Regel daher die Dateien mit dem Extension ‚.inc‘ und erkenne daher immer sofort die Funktion bzw. Bedeutung solcher Dateien.“

3.1 globale_file_name.inc

3.1 globale_variablen_name.inc

 

4. Ablaufplan

Ablaufplanung
Gibt im ganz groben Zügen wieder, wie die Scripte arbeiten.