Backup mit Linux

Linux Backup

Vorraussetzung für SIcherung und Wiederherstellung ist, dass die Server der Universit?t vom zu sichernden Ger?t per ssh erreichbar sind.

Im Beispiel soll ein einfaches Backup auf dem Server backup.zfn.uni-bremen.de mit dem User testuser gezeigt werden.

  • Bitte tauschen Sie "testuser" durch Ihren Uni-Account aus. Ein neuer Funktionsaccount w?re noch besser.
  • Das Passwort  Abc!123  darf nicht verwendet werden, weil ich es hier publiziert habe.
  • Wenn Sie Ihre Backups auch auf backup.zfn.uni-bremen.de ablegen wollen, dann schreiben Sie uns an eine unserer Funktionsadressen unten.
  • Testen Sie das Backup und den Restore 澳门皇冠_皇冠足球比分-劲爆体育fach!

Vorbereitung

Bitte installieren Sie sshfs, ssh, rsync und cryfs:

# apt install shfs openssh-client cryfs rsync

Nun erstellen Sie einen ssh key:

# ssh-keygen

Kopieren Sie nun den public-Teil des Key auf den Server:

# ssh-copy-id testuser@backup.zfn.uni-bremen.de

Nun fehlen noch ein paar Ordner.

# mkdir /home/testuser/cryfsbackup/
# ssh testuser@backup.zfn.uni-bremen.de mkdir /home/testuser/cryfsbackup

Nun testen Sie, ob sich der Ordner von backup.zfn.uni-bremen.de hier mounten l?sst:

# sshfs testuser@backup.zfn.uni-bremen.de:/home/testuser/cryfsbackup/ /home/testuser/cryfsbackup/

Der Ordner sollte nun zu sehen sein:

# df

Nun erstellen Sie einen Verschlüsselten Ordner mit dem Passwort "Abc!123" :

# cryfs /home/testuser/cryfsbackup /home/testuser/mybackup

Dieses kann einen Moment dauern. Wenn auf dem Server backup.zfn.uni-bremen.de in dem Ordner /home/testuser/cryfsbackup/  viele kleine Ordner entstanden sind, ist das ein gutes Zeichen. Die Verschlüsselung des Ordners /home/testuser/mybackup ben?tigt sp?ter nur 10% zus?tzlichen Platz. Hacker k?nnen aber ohne das zus?tzliche Passwort diese Dateien nicht auslesen oder ver?ndern.

Backup

Bitte erstellen Sie ein Backupskript mit folgenden Inhalt. Achten Sie darauf, testuser und Abc!123 gegen Ihren Account und ein sinnvolles Passwort zu ersetzen.

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# Test ob Job schon l?uft

df | egrep "cryfsbackup|mybackup" &&  { echo "L?uft schon" 1>&2 ; exit 1; }

# Backup.zfn.uni-bremen.de mounten
sshfs testuser@backup.zfn.uni-bremen.de:/home/testuser/cryfsbackup/ /home/testuser/cryfsbackup/

# Verschlüsselung des Ordners starten
CRYFS_FRONTEND=noninteractive
mkdir -p /home/testuser/mybackup/
echo Abc!123 | cryfs /home/testuser/cryfsbackup /home/testuser/mybackup

# Produktive Dateien mit dem Backup synchronisieren
rsync -av -delete /home/testuser/Dokumente  /home/testuser/mybackup/

# Und alles wieder beenden
sync
cryfs-unmount "/home/testuser/mybackup"
sync
umount /home/testuser/cryfsbackup/

Restore

Das zurückholen der Dateien unterscheidet sich nur durch die Reihenfolge beim rsync. Um unbekannte Dateien nicht zu l?schen fehlt das delete. Bitte erstellen Sie folgendes Skript:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Test ob Job schon l?uft

df | egrep "cryfsbackup|mybackup" &&  { echo "L?uft schon" 1>&2 ; exit 1; }

# Backup.zfn.uni-bremen.de mounten
sshfs testuser@backup.zfn.uni-bremen.de:/home/testuser/cryfsbackup/ /home/testuser/cryfsbackup/

# Verschlüsselung des Ordners starten
CRYFS_FRONTEND=noninteractive
echo Abc!123 | cryfs /home/testuser/cryfsbackup /home/testuser/mybackup

# Produktive Dateien mit dem Backup synchronisieren
rsync -av /home/testuser/mybackup/Dokumente /home/testuser/

# Und alles wieder beenden
sync
cryfs-unmount "/home/testuser/mybackup"
sync
umount /home/testuser/cryfsbackup/

Variationen

Sieben Sicherungen, die nach sieben Tagen überschrieben werden:

heute=`date +%a`
mkdir -p /home/testuser/mybackup/$heute
rsync -av -delete /home/testuser/Dokumente  /home/testuser/mybackup/$heute

Logfile mit Zusammenfassung:

date >> /var/log/backup.log
find /home/testuser/mybackup/  | wc -l >> /var/log/backup.log

Quellen

https://www.cryfs.org/howitworks

https://wiki.ubuntuusers.de/FUSE/sshfs/

https://wiki.ubuntuusers.de/rsync/