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