Datensicherung auf ein entferntes Bandlaufwerk

Gespeichert von Erik Wegner am/um
Body

Beschreibung

Von der lokalen Maschine aus sollen Daten auf einem Bandlaufwerk gesichert werden, das in einem entfernten Rechner eingebaut ist. Dazu werden die Komponenten tar, rmt und ssh benötigt.

Bei meinem Linux-Zielrechner muss noch eine Verknüpfung hergestellt werden, da das tar-Programm auf dem Zielhost die Datei rmt im Verzeichnis /usr/libexec erwartet:

mkdir /usr/libexec
ln /usr/sbin/rmt /usr/libexec/rmt

Sicherung

tar cv --rsh-command=/usr/bin/ssh --multi-volume -f benutzer@remotehost:/dev/st0 dateien

Als komplexes Script kann das ganze so aussehen:

#!/bin/bash
#
# Shellscript zur Datensicherung

## Parameter

#zu sichernde Pfade
SICHLIST=$(mktemp)
SICHEXCL=$(mktemp)
cat >>${SICHLIST} <<EOF
/backup
/etc
/home
/var
EOF
cat >>${SICHEXCL} <<EOF
/home/*/build
EOF


#Zielhostparameter
HOST=192.168.4.100
USER=root
ZIEL=/dev/st0

##Befehle vor dem Sichern
# MySQL Datenbank
#mysqldump datenbankname -uusername -ppasswort > /backup/datenbank-backup-$(date +"%Y-%m-%d").sql

# Liste der installierten Pakete
#dpkg --get-selections "*" > /backup/dpkg-selections-all
#rpm -qa >/backup/rpm-qa

tar --create --verbose --totals --multi-volume --exclude-from=${SICHEXCL} --files-from=${SICHLIST} --file ${USER}@${HOST}:${ZIEL} --rsh-command=/usr/bin/ssh

rm ${SICHLIST} ${SICHEXCL}

Wiederherstellen

tar xv --rsh-command=/usr/bin/ssh --multi-volume -f benutzer@remotehost:/dev/st0

Weitere Hinweise: http://www.linux-hamburg.de/streamer/

Weitere Beispiele

time tar c --multi-volume daten | buffer -u 100 -o /dev/nst0 -S 1m