Open Source im professionellen Einsatz

In Perl gegossen

Zeile 10 legt die IP-Adresse des Backupservers fest, dies muss der Benutzer, wie die verwendete User-ID in Zeile 11, an die lokalen Gegebenheiten anpassen. Die Funktion »network()« initialisiert den mit der selbst gebrannten CD gebooteten Rechner im Netzwerk. Die ab Zeile 38 definierte Funktion »mount ()« ruft »sshfs« auf, um das lokale Verzeichnis »/home/partimag« mit dem Verzeichnis »/backup/clonezilla« auf dem Backupserver zu verbandeln. Die hierfür genutzte Funktion »sysrun()« stammt aus dem Fundus des CPAN-Moduls Sysadm::Install und führt die ihr übergebenen Shellkommandos in einem »system()« -Befehl aus, nachdem sie eine entsprechende Nachricht an das im Skript ebenfalls aktivierte Log4perl-Framework geschickt hat.

Die Option »ssh_command« des »sshfs« -Programms erlaubt es, zusätzliche SSH-Parameter anzugeben. Die Option »-i« bestimmt die Lage des private Key, den Zeile 41 vorher in einer temporären Datei abgelegt hat. Die Option »BatchMode=yes« stellt dem User keine Fragen, sondern bricht ab, falls etwas nicht automatisch klappt. Und die Option »GlobalKnownHostsFile« gibt die Datei an, die die Signaturen bekannter Rechner enthält. Zuvor hat das Skript die Ausgabe der Funktion »known_hosts()« (Zeile 127) in dieser temporären Datei abgelegt.

Unterbrechen erlaubt

Damit sich ein Lauf notfalls unterbrechen lässt, sucht die Funktion »backup_all()« ab Zeile 61 das Verzeichnis der letzten Sicherung heraus. Sie legt das Skript jeweils mit aktuellem Datumsstempel an, also führt »reverse sort« zu einer Liste, deren erstes Element das jüngste Backup ist. Innerhalb dieses Verzeichnisses sucht Zeile 70 nach einer Datei namens »DONE« , die das Backupskript anlegt, sobald eine Sicherung komplett abgeschlossen ist. Fehlt diese Datei, wurde das Backup unterbrochen. Zeile 71 findet in diesem Fall eine angefangene Partition, und die For-Schleife ab Zeile 97 setzt das Backup dort fort.

Listing 3

prepare.sh

01 sudo fdisk /dev/sda <<EOT
02 n
03 p
04 1
05
06 +500MB
07 n
08 p
09 2
10
11 +500MB
12 w
13 EOT
14
15 sudo mkfs.ext3 /dev/sda1
16 sudo mkfs.ext3 /dev/sda2
17
18 sudo umount /tmp
19 sudo mount /dev/sda2 /tmp
20 sudo mount /dev/sda1 /home/partimag

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook