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.

  • /dev/nst0
  • /dev/st0


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.

Suche

 

Anzeige


Links