Wie kann ich inkrementell Backups eines Verzeichnisses auf eine CD-R brennen derart dass alle Backups nach Datum geordnet zugreifbar sind?

Dabei sollen symbolische Links in dem zu sichernden Verzeichnis sollen durch die Dateien ersetzt werden auf die sie zeigen.

Eine Multi-Session CD kann so gemountet werden wie jede andere auch. Es ist zu empfehlen so lange mit einer CD-RW zu üben bis man erfolgreich Multisession-CDs erstellen kann – sonst verbrennt man evtl. einige CD-Rs. Es könnte evtl. sein dass CD-RWs nur nach vollständigem Blanking für Multi-Session CDs geeignet sind. Also zuerst »cdrecord -v blank=all« ausführen (dauert etwa 8 Minuten), statt »cdrecord -v blank=fast«. Wie man Multi-Session CDs erstellt ist beschrieben in http://www.tldp.org/HOWTO/CD-Writing-HOWTO-4.html#ss4.18 ; weitere gute Tipps finden sich unter http://gd.tuwien.ac.at/utils/schilling/cdrecord/README.multi . Um bei der Erstellung des ISO-Images symbolische Links zu dereferenzieren ist es am einfachsten, das Verzeichnis von dem das Image erstellt werden soll zuerst zu kopieren unter Dereferenzierung der symbolischen Links: »cp --dereference -p -R source/ dest/« oder alternativ formuliert »cp -LpR source/ dest/«.

Bisher hat nur der TAO-Modus zu verwendbaren Multi-Session CDs geführt. Wenn man den SAO-Modus (die Option »-sao«) verwendet erscheint die Fehlermeldung »cdrecord: CUE sheet still not accepted. Please try to write in RAW (-raw96r) mode.«. Das könnte daran liegen dass der verwendete CD-Brenner keine Multi-Session CDs im SAO-Modus erlaubt; denn in der Manpage von cdrecord steht: »Not all drives allow multisession CDs in SAO mode.« Allerdings führt die Verwendung von »-raw96r« statt »-sao« dazu dass der Befehl
»cdrecord -msinfo« nicht mehr funktioniert. Fehlermeldung dann:

cdrecord: Cannot get next writable address for 'invisible' track.
cdrecord: This means that we are checking recorded media.
cdrecord: This media cannot be written in streaming mode anymore.
cdrecord: If you like to write to 'preformatted' RW media, try to blank the media first.
cdrecord: Cannot read first writable address

Das alles jetzt mal konkret:

Für das erste Backup führe man als root aus (mit dem aktuellen Datum). Der erste Befehl hilft zu erkennen ob das Laufwerk nach dem letzten Suspend-to-RAM / Resume Zyklus korrekt initalisiert wurde; wenn nicht muss man den Rechner neu starten.

mount /media/cdrom;
ls -l /media/cdrom/;
umount /media/cdrom;
CURR_DATE=2006-03-31; echo $CURR_DATE;
cp -LpR ~/somedir/ ~/somedir.tmp;
mkisofs -r -J -graft-points -o ~/Backup.$CURR_DATE.raw ~/somedir.tmp;
mount -o loop ~/Backup.$CURR_DATE.raw /media/loop/;
ls -l /media/loop/;
umount /media/loop/;
cdrecord -tao -multi -v -dummy ~/Backup.$CURR_DATE.raw;
cdrecord -tao -multi -v ~/Backup.$CURR_DATE.raw;
mount /media/cdrom;
ls -l /media/cdrom/ /media/cdrom/Backup.$CURR_DATE;
umount /media/cdrom;
eject;
rm -R ~/somedir.tmp;
rm ~/Backup.$CURR_DATE.raw;

Für alle folgenden Backups führe man als root die folgenden Befehle aus (jeweils mit dem aktuellen Datum, und mit der bisher erstellten CD im Laufwerk). Der erste Befehl hilft zu erkennen ob das Laufwerk nach dem letzten Suspend-to-RAM / Resume Zyklus korrekt initalisiert wurde; wenn nicht muss man den Rechner neu starten.

mount /media/cdrom;
ls -l /media/cdrom/;
umount /media/cdrom;
CURR_DATE=2006-04-05; echo $CURR_DATE;
cp -LpR ~/somedir ~/somedir.tmp;
NEXT_TRACK=`cdrecord -msinfo`; echo $NEXT_TRACK;
mkisofs -r -J -graft-points 
  -o ~/Backup.$CURR_DATE.raw 
  -C $NEXT_TRACK -M ATA:1,0,0 
  Backup.$CURR_DATE/=~/somedir.tmp/;
cdrecord -tao -multi -v -dummy ~/Backup.$CURR_DATE.raw;
cdrecord -tao -multi -v ~/Backup.$CURR_DATE.raw;
mount /media/cdrom;
ls -l /media/cdrom/ /media/cdrom/Backup.$CURR_DATE;
umount /media/cdrom;
eject;
rm -R ~/somedir.tmp;
rm ~/Backup.$CURR_DATE.raw;

Für das letzte Backup führe man aus (mit dem aktuellen Datum): dieselben Befehle wie für das zweite und die folgenden Backups, aber nur ohne die cdrecord-Option »-multi«.


Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.