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]

Antwort per Email an