Hallo zusammen, Jan hatte danach gefragt ... Mein Backup geht so:
*a) User-Daten:* Ich habe ein Skript, mit dem ich meine Daten inkrementell regelmäßig auf eine verschlüsselte USB-Platte sichere. Weiter unten ein Beispiel-Skript für den interessierten Leser. *b) System:* Zusätzlich boote ich von Zeit zu Zeit von einer anderen Partition (oder USB-Stick) , mounte meine Systempartition unter /mnt und sichere das System mit tar. Für "home" habe ich eine separate Partition, die kommt also nicht mit auf die Sicherung, ebenso nicht weitere Daten-Partitionen. Auch meine virtuellen Maschinen liegen woanders (/var/lib/libvirt/images ist ein Link auf einen Ordner in einer größeren Partition). Somit ist mein System komprimiert nur knapp 3 GB groß. cd /mnt; tar cfvzp --exclude=./tmp --exclude=./proc [--exclude......] /Backup/<date>.tar.gz . (<date> z. B. 200512) wobei /Backup eine eigene Partition nur für Systembackups ist und <date> das aktuelle Datum ist (die Zeichen < und > nicht mitschreiben!) Vorteil: im Falle eines Crash kann man alles komplett zurück spielen (vielleicht man man /tmp aber noch manuell erzeugen, ich habe es schon lange nicht mehr gebraucht ...) Ach ja, die Boot Partition ist nicht separat, sondern mit auf der Systempartition, wird also immer mit gesichert. Wichtig: Die Sicherung darf nicht von dem gerade laufenden System gemacht werden, sonst geht das Zurückspielen nicht. Daher boote ich vor der Sicherung ein anderes Linux, s. o. P. S. Gerne nehme ich Verbesserungsvorschläge an ;-) LG, Michael --------------------------------------------------------------------- Beispiel-Skript für inkrementelles Backup ausgewählter Folder (im Code anzupassen) #!/bin/bash # usage: sync_usb dir1 dir2 ... # e.g. sync_usb /home/Michael # e.g. sync_usb /data/Eigene /home/Michael/raspberry / # copy all files from directories given in command line to mount device echo "Enter the path to the USB device, e.g. /run/media/Michael/cr_usb_1T_backup" echo "Path: " read mount_dev if test -n "$*" then if test "$*" = "-h" then echo "" echo "sync default paths or entered paths to /usb" echo "" echo "usage: sync_usb [absolute path(s)]" echo " e.g. sync_usb /home/Michael /data/aktuell" echo " if path(s) not given, sync all default paths, see inside script" exit fi paths=$* else paths="/home/Michael /data" #paths="/data" fi echo "" echo "Summary: syncing $paths" echo "Continue with any key ..." read weiter echo "#####################################" echo "syncing $paths ..." for i in $paths do cd / if test -d $i then cd $i echo "####################################" echo "sync `pwd` ..." sleep 1 echo "Creating dir $mount_dev/$i ..." mkdir -p $mount_dev/$i echo "Starting sync ..." rsync -auv . $mount_dev/$i else echo "dir $i not found ... skipping ..." fi done > [snip] >>> Beispielsweise fände ich es sehr toll, sich über Backup-KONZEPTE >>> auszutauschen. >>> >>> Virtuelle Grüße >>> Jan [snip]
