rsync: Quelle größer als Ziel => "Archiv" aufteilen/splitten

E

Eisbahn

Hallo zusammen,

demnächst wird ein NAS eintreffen, das ich noch auf (externe) USB-Platten sichern möchte. Auf dem NAS (Synology DiskStation) ist netterweise rsync enthalten und es gibt Shell-Zugang, dem Backup steht also scheinbar nichts im Wege...
Um den Zugriff für die User zu vereinfachen, bietet das NAS jedoch nur ein Volume an, das durch die Zusammenfassung mehrerer HDDs entsteht (SPAN/JBOD Betrieb). Insgesamt stehen ein paar TB an Daten zur Sicherung an, von denen ich auch ein Backup haben möchte (andernfalls ist bei einem Defekt alles futsch). Leider habe ich jedoch kein zweites NAS, d.h. die Sicherung muss (von Zeit zu Zeit) auf mehrere kleine Platten erfolgen. Folgende Struktur der Daten liegt vor:
Code:
/dev/jbod/raw/A/rawvideo_20010427.avi
/dev/jbod/raw/A/rawvideo_20010428.avi
...
/dev/jbod/raw/B/rawvideo_20020101.avi
/dev/jbod/raw/B/rawvideo_20020130.avi
...
/dev/jbod/raw/Z/
Die Daten selbst ändern sich nicht häufig und sind eher statischer Natur, einmal im Monat reicht eine Sicherung aus. Es besteht eine alphabetische Sortierung über Verzeichnisse, d.h. ich könnte auch manuell z.B. alles aus .../raw/A manuell sichern, dann den Platz kontrollieren, dann .../raw/B usw. Es werden zu 99% nur Dateien hinzugefügt oder gelöscht, aber nicht geändert (nur in Ausnahmefällen die ich per Hand sichern könnte), bzw. nur in einem tmp Verzeichnis das gesondert behandelt werden kann.

Lange Vorgeschichte, kurzer Sinn: die Quelle ist größer als das Ziel. Das Ziel kann aber ausgewechselt werden (externe USB HDDs), d.h. ich bräuchte so etwas wie damals arj oder rar über mehrere 5 1/4 oder 3 1/2 Zoll Disketten, nur jetzt mit rsync und Datenmengen im TB Bereich.
Dazu ein paar Fragen erst einmal zu rsync:
- rsync Option "-z" macht bei einem lokalen Backup (interne HDD zu ext. USB-HDD) keinen Sinn, würde ich also weglassen
- was erledigt Option "-b" genau? Würde dies auch weglassen.
- kennt rsync so etwas wie volume-splitten und zusammensetzen?
Der reine rsync Aufruf würde bei mir in etwa wie folgt aussehen:
Code:
rsync -avvX --exclude=temp/ --exclude=*.avi~ --progress --delete --timeout=60 /dev/jbod/raw/first1_5TB/ /usbdev/firstHDD

Nun bleibt die Frage: wie finde ich jeweils 1,5TB große Datenpäckchen und kann diese an rsync übergeben? Mit einem Zwischenschritt würde dies z.B. über
Code:
# create first destination directory
src=1
mkdir /path/to/destination/dir$src
# variable to hold directory size
sum=0
# variable defining maximum size (here: 1,4TB)
max=`expr 1,4 \* 1024 \* 1024 \* 1024 \* 1024`
# change into source directory
cd /source_dir
# loop over all files
for i in *; do
  # add file sizes
  sum=`expr $sum + \`ls -l "$i" | awk ' { print $5 } '\``
  # move file
  mv "$i" "/path/to/destination/dir$src/"
  # maximum size exceeded? new destination, reset sum
  if test $sum -ge $max; then
    src=`expr $src + 1`
    mkdir /path/to/destination/dir$src
    sum=0
  fi
done
gehen, aber dafür wird eine loakle Kopie benötigt, oder die Verzeichnisstruktur auf dem NAS wird für die Dauer des Backups "zerrissen", da dort alle Dateien in ein Unterverzeichnis zu je 1,5TB geschoben werden.
Was ich mir also wünsche ist folgendes:
- über das JBOD schauen und ~1,5TB große "Päckchen" bestimmen
- diese Päckchen (per rsync) auf eine USB Platte schreiben

Problem:
was passiert z.B. wenn die Datei .../B/rawvideo_20010427.avi bei der ersten Sicherung auf der ersten USB Platte gesichert wurde, nun aber auf die zweite muss (weil davor (in .../A/) noch Daten hinzugekommen sind)? Überlege schon, ob cp hier nicht angebrachter ist.

Würde mich über eure Meinung, bzw. Lösungsvorschläge freuen. Danke und Gruß,

Hans
 

Ähnliche Themen

Hardware RAID-0 kaputt / wird nicht mehr erkannt

Ext3 Partition: Voll obwohl freier Platz da ist

Textkonsole mit KMS zu klein

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Xinerama und ATI Treiber?

Zurück
Oben