Backup

Aus Wiki
Version vom 28. Februar 2009, 13:04 Uhr von Erich (Diskussion | Beiträge) (Die Seite wurde neu angelegt: ==Einleitung== Hier soll ein komfortables Backup-Script vorgestellt werden, das vollautomatisch regelmäßige Backups der NSLU anfertigt. Herz des Backup-Scriptes ist r...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

Hier soll ein komfortables Backup-Script vorgestellt werden, das vollautomatisch regelmäßige Backups der NSLU anfertigt. Herz des Backup-Scriptes ist rsync (http://de.wikipedia.org/wiki/Rsync). Das Script sichert nicht bei jedem lauf erneut alle Files, sondern nur geänderte bzw. neue Files. Dabei kommt aber nicht ein Vollbackup und weitere Incrementelle Backups zum Einsatz, wie bei vielen anderen Backuplösungen. Vielmehr enthält jedes neu angelegte Backup alle Files. Was zunächst wie ein Widerspruch aussieht, wird durch sog. Hardlinks im Dateisystem möglich.

Optional ist es möglich eine Festplatte, deren Netzteil an der → Schaltbaren Steckdosenleiste angeschlossen ist, für das Backup automatisch ein- und danach wieder auszuschalten.

Voraussetzung

  • EXT2- oder EXT3- formatierte zusätzliche USB-Festplatte oder USB-Stick.
  • Optional: → Schaltbaren Steckdosenleiste zum automatischen ein- und ausschalten der Backup Platte

Installation

Installation von rsync:

ipkg install rsync

Download des Backup-Scripts:

cd /opt/sbin
wget ftp://download:download@schiele.homelinux.org/nslu/backup.sh
chmod +x backup.sh

Konfiguration

Die Konfiguaration des Scriptes erfolgt am Beginn des Files:

vi /opt/sbin/backup.sh
#-----------------------Konfiguration-------------------
#SIS-PM Schaltbare Steckdosenleiste
SIS_PM_USE=1
SIS_PORT=4

#Automount
AUTO_MOUNT=1

#Destination Device
DEST_DEVICE=/dev/sdc1

#Verzeichnis, in dem die ganzen Sicherungsdaten liegen
BASISDIR=/share/backup

#LOGFILE
LOGFILE=/opt/var/log/backup.log

#Zu sicherndes Verzeichnis
ZUSICHERN=/share/flash

#Alte Backups löschen:
DEL_OLD_BACKUP=0
KEEP_BACKUP_DAYS=30
#-----------------------------------------------------
  • Falls eine → Schaltbare Steckdosenleiste vorhanden und eigerischtet ist, kann eine daran angesteckte externe USB-Festplatte automatisch vom Script angesteuert werden. Die betreffende Steckdose wird eingeschaltet, die Festplatte gemountet, das Backup durchgeführt und anschließend die Festplatte wieder unmounted und abgeschalten. In diesem Fall wird der Eintrag SIS_PM_USE=1 gesetzt. Mit dem Eintrag SIS_PORT wird die Nummer der Steckdose bestimmt, an dem das Netzteil der USB-Platte hängt.
  • Falls die Festplatte nicht permanent ins Dateisystem eingebunden ist, z.B. weil diese nur für das Backup entweder manuell oder automatisch mittels SisPM eingeschaltet wird, kann die Festplatte für die Dauter des Backups ins Filesystem eingehängt werden. Dies erfolgt, falls der Eintrag AUTO_MOUNT=1 ist. Gemounted wird dabei die Festplatte DEST_DEVICE. Dies ist die Device-Bezeichnung, die die externe USB-Festplatte von NSLU zugewiesen bekommt, nachdem diese eingeschaltet wurde. Im Normalfall bekommt eine zusätzlich angesteckte Festplatte das Device /dev/sdb1 zugewiesen, wenn neben der System-Platte/Stick keine weiteren Datenträger vorhanden sind.
  • BASISDIR bezeichnet das Verzeichnis, unter dem die Backups abgelegt werden. Die mit Hilfe der Einstellung AUTO_MOUNT eingebundene Festplatte, wird in dieses Verzeichnis gemounted, und darauf dann die Backups angelegt. Falls die Ziel-Festplatte permanent im Dateisystem der NSLU verankert ist, hier den entsprechenden Pfand angeben.
  • Nach dem Bakup ist es möglich, alte Backups zu löschen. Dadurch wird das Backup-Archiv nicht unnötig groß. Dies schafft Übersicht und spart Speciherplatz.Mit DEL_OLD_BAKCUP kann das automatische Löschen alter Backups aktiviert (1) oder deaktiviert (0) werden. Mit dem Eintrag KEEP_BACKUP_DAYS wird bestimmt, wieviel Tage lang alte Backups aufbewahrt werden sollen. Z.B. hier 30 Tage lang. Ältere Backups werden gelöscht.


Test

Hinweis: Beim ersten Start des Backup-Scriptes kann es sehr lange dauern, bis dieses fertiggestellt ist. Dies liegt daran, dass rsync beim ersten Start, sämtliche Files kopieren muß. Bei den folgenden Backup-Läufen werden nur noch geänderte bzw. neue Files übertragen, so dass diese dann schneller durchlaufen. Während das Backup läuft, darf das Putty-Fenster nicht geschlossen werden, da ansonsten das Backup abgebrochen wird.
/opt/sbin/backup.sh


Optional: Regelmäßiges Backup

Um das Backup regelmäßig durchzuführen, wird ein → Cron-Job eingerichtet. Dies macht natürlich nur Sinn, wenn die Zielfestplatte entweder permanent im Dateisystem verankert ist, oder die Festplatte automatisch mittels SisPM eingeschaltet wird.

  • Falls die Originalversion von Cron verwendet wird (siehe auch → hier):
vi /etc/crontab
  • Falls die ipkg-Version von Cron verwendet wird (siehe auch → hier):
vi /opt/etc/crontab

Einen neuen Eintrag erzeugen, z.B. für ein tägliches Backup um 2.00 Uhr nachts.

0 2 * * * root /opt/sbin/backup.sh > dev/null
Achtung:
Fall die Schaltbare Steckdosenleiste verwendet wird, bitte checken, ob die crontab die Umgebungsvariable LD_LIBRARY_PATH gemäß Anleitung crontab enthält. Sollte diese fehlen, kann sispmctl (Steuerprogramm der Schaltbaren Steckdosenleiste) evtl. die libusb nicht finden und das Backup-Script funktioniert nicht!