Backup unter Linux mit einem SCSI Streamer
In diesem Bericht möchte ich kurz erklären wie man unter Linux ein Backup auf einem SCSI Streamer erstellt.
Unter Linux gibt es für SCSI Streamer mehrere Geräte.
Der Unterschied zwischen beiden Geräten ist das bei /dev/st0 das Band nach dem Backup zurückgespult wird und bei /dev/nst0 wird das Band nicht zurückgespult. Man muss für seinen Zweck entscheiden was man braucht. Wenn man z.B. mehrer Backups auf einem Band hintereinander speichern möchten kann es sinnvoller sein /dev/nst0 als Gerät zu nehmen. Wenn man für jedes Backup eh eine einzele Kasette hat kann man /dev/st0 nehmen.
Nun kann man sich unter Linux das Gerät das man braucht zum Gerät/dev/tape verlinken. Wenn man das macht braucht man später kein Gerätmehr bei mt angeben.
Ich habe mir das No Rewind Gerät /dev/nst0 verlinkt. Ich machezwar nicht mehrere Backups auf ein Band aber so kann ich hier besserden Umfang von "mt", dem Backuptooldemonstrieren.
Einen Link erstellt man so:
ln -s /dev/nst0 /dev/tape
mt rewind
| Spult das Band an den Anfang zurück
|
mt tell
| Dieser Befehl gibt die aktuelle Position des Bandes an
|
mt status
| Dieser Befehl gibt alles wichtige über das Band aus, wie z.B. Block Größe...
|
mt seek
| Steuert einen angegebenen Block auf dem Band an
|
mt fsf
| Steuert eine angegebene Datei Endmarkierung an
|
mt eof
| Spult das Band an das Ende der letzten Sicherung vor
|
Das war alles wichtige über "mt". Nun komme ich zum eigentlichenanlegen des Backups. Das macht man mit dem Programm "tar", viele voneuch werden es schon kennen.Ursprüglich wurde "tar" (tape archiver) nämlich für diesen Zweckgeschaffen, es wird heute jedoch für viel mehr Zwecke eingesetzt.Zum anlegen und wiederherstellen eines Backups brauchen wir folgendeBefehle:
tar cvf /dev/tape /
| Legt ein Backup des kompletten Systems an.
|
tar cvzf /dev/tape /home
| Legt ein Backup der Homeverzeichnisse an.
|
tar tvf /dev/tape
| Zeigt den Inhalt des Bandes an.
|
tar xvf /dev/tape
| Stellt den gesammten Inhalt des Bandes wieder her.
|
tar xvf /dev/tape /home/test
| Stellt den Inhalt des Homeverzeichnisses von User test wieder her.
|
tar xvzf /dev/tape /home
| Stellt das Verzeichnis /home wieder her und entpackt es.
|
Nun kennen wir auch die wichtigen Befehle zu anlegen eines Backups.Es wäre natürlich auch schön wenn man das ganze automatisch jede Nacht machen lassen könnte.Was man dazu braucht ist als erstes ein Shell Script und Zweitens einen Cronjob der das Shellscript jede Nacht ausführt.Als erstes schreiben wir unser Shellscript.
- Dazu legen wir eine Datei an mit dem Befehl "touch backup"
- Nun machen wir die Datei ausführbar mit chmod 700 backup
- Nun öffnen wir die Datei mit einem Editor z.B. vi mit "vi backup
- In die erste Zeile schreiben wir "#! /bin/sh"
- IN die zweite Zeile geben wir ein "mt rewind" das stellt sicher das das Band zurückgespult wurde
- In die dritte Zeile schreiben wir unseren Befehl zum anlegen eines Backups
"tar cvzf /dev/tape /etc /home /var/log"
- In die vierte Zeile geben wir ein "mt rewind" das spult das Band nach dem Backup wieder zurück.
- Nun speichern wir unser Shellscript. In vi macht man das indem
man "Esc" drückt und :w! eingibt. Mit der Eingabe von :q! verlässt man
danach das Programm
Nun haben wir unser Shellscript angelegt. Um es zu testen geben wir./backup ein. Nun sollte das Backup startenWenn man /dev/st0 als /dev/tape verlinkt hat kann man sich die vierteZeile sparen. die zweite sollte man jedoch trotzdem drinne lassen fallsmal ein Band eingelegt wird was nicht zurückgespult ist.
Damit das ganz automatisch abläuft müssen wir noch einen Cronjob anlegen. Der das Shellscript zu eine bestimmten Zeit ausführt.Die Einträge von Cron werden in einer Datei gespeichert. Ein Eintrag in die Datei hat folgenden Aufbau:
Minute Stunde Tag Monat Wochentag Befehl
Wenn ein Befehl z.B. zu jeder Stunde ausgeführt werden soll gibt man an der Position der Stunde einen * ein.Will man z.B. jede Nacht um 23 Uhr ein Backup starten sieht der Eintrag so aus:
0 23 * * * /pfad/backup
Folgende Schritte sind also zum automatisieren nötig:
- Geben sie "crontab -e" ein. Nun öffnet ein Editor, normalerweise der Editor vi
- Geben sie den cronjob ein z.B. "0 23 * * * /pfad/backup" wobei pfad für den Pfad zum Script steht.
- Speichern Sie den eintrag mit :w! und verlassen Sie vie mit :q!
Nun können Sie mit crontab -l sich die Liste der Cronjobs anschauen und Ihr Cronjob sollte auch dabei stehen.Nun sollte jede Nacht um 23 Uhr das Backup starten.
Noch Fragen zu Linux ?
In unserm
Linux Forum kannst du deine Fragen zu Linux stellen.