zur scdbackup homepage


scdbackup
- Beispiele -




zum seitenanfang


Eine Beispielkonfiguration


Ich empfehle dringend, die Installation als normaler User durchzufuehren. Nur sehr wenige Aktionen der Installationsprozedur benoetigen die Rechte eines Superusers. Sie sind im Skript SUPERUSER_KONFIGURIEREN zusammengefasst, das im Schritt 3 weiter unten ausgefuehrt wird.

Die Aktionen des Users werden in Fettschrift gezeigt

Schritt 1 der Installationsprozedur (siehe LIESMICH) besteht darin, in ein beliebiges Directory zu gehen (hier: /home/test), das Archiv zu entpacken und in das neuentstandene Directory scdbackup-0.7 zu gehen:

$ cp scdbackup-0.7.tar.gz /home/test
$ cd /home/test
$ tar xvzf scdbackup-0.7.tar.gz
... all die Filenamen aus dem Archiv ...
$ cd scdbackup-0.7
Nun (nachdem ich LIESMICH "Vorplanung" gelesen habe und weiss, was in den Systembackup aufgenommen werden soll) starte ich das Konfigurationsskript:


$ ./KONFIGURIEREN

Wenn schon eine Version von cdrecord im Kommandopfad installiert ist, wird eine Uebersicht der SCSI Geraete ausgegeben.
Wenn nicht, kann der Superuser ./cdrecord_prog -scanbus ausfuehren, um diese Uebersicht zu bekommen (vorausgesetzt, dass sich dieses Binaerprogramm fuer das System eignet).

scsibus0:
0) *
1) *
2) 'TOSHIBA ' 'CD-ROM XM-6201TA' '1037' Removable CD-ROM
3) 'YAMAHA ' 'CRW4260 ' '1.0j' Removable CD-ROM
4) *
5) *
6) 'TANDBERG' ' TDC 3800 ' '=04:' Removable Tape
7) *

Da ich weiss, dass mein CD-Recorder von YAMAHA ist (meine erste YAMAHA !), kann ich ablesen, dass er die Adresse 3,0 hat (es gibt nur ein Laufwerk in dem Ding).


scdbackup installation script 0.7

Hinweis: Leere Eingaben belassen die Vorgabe unveraendert

SCSI-Addresse des CD Recorders ? (zB. 3,0)
gegenwaertige Einstellung: ""
3,0

Schreibgeschwindigkeit ? (zB. 2)
gegenwaertige Einstellung: ""
4

Hinweis: nur wiederbeschreibbare CD-RW Medien eignen sich zum Loeschen

CD vor dem Schreiben automatisch loeschen ? (jy1/n0)
gegenwaertige Einstellung: ""
N

Hinweis: Schreiben von CD ohne Zwischenspeichern kann fehlschlagen,
wenn der Rechner langsam oder sehr beschaeftigt ist
Systembackups ohne Zwischenspeichern werden nicht komprimiert.

Name des Zwischenspeicherfiles ? ("-" = ohne Zwischenspeichern)
gegenwaertige Einstellung: ""
/cdpuffer/isofs

Hinweis: Ihre Version von mkisofs muss die Zielnotation /ziel=quelle
unterstuetzen. Falls sie das nicht tut, sollten Sie die
Programme mkisofs_prog and cdrecord_prog in diesem Directory
verwenden oder cdrecord-1.6 und mkisofs-1.12b3 compilen
(siehe LIESMICH, Anhang COMP)

mkisofs_prog und cdrecord_prog verwenden ? (jy1/n0)
gegenwaertige Einstellung: ""
J

Hinweis: wenn hier 0 eingegeben wird, dann wird die Groesse von
Directories durch eine sehr langsame Methode bestimmt, die
die wirkliche Groesse komprimierter Teilarchive misst.

Geschaetzte Kapazitaet einer komprimierten afio CD ? (zB. 1024m)
gegenwaertige Einstellung: ""
1200m

Liste der auszuschliessenden Directories fuer Systembackup ?
gegenwaertige Einstellung: "/cdrom /cdrw /floppy /home /mnt /opt /proc /tmp"
/cdrom /cdrw /floppy /home /mnt /opt /proc /tmp /cdpuffer /n

(Hier wird eine einzelne Eingabezeile erwartet, auch wenn Ihr Browser eventuell gerade mehr als eine Zeile anzeigt.)

Hinweis: Das Sperrverfahren (locking) ist fuer echte Multiuser-Umgebungen
anzuraten. Es reserviert Ergebnisskripte und den CD-Recorder
gegenueber dem Zugriff anderer Teile dieses Programmsystems.

Sperrverfahren anwenden ? (jy1/n0)
gegenwaertige Einstellung: ""
N

Hinweis: Das Installationsdirectory wird von SUPERUSER_KONFIGURIEREN benoetigt.
Es muss die Subdirectories bin und sbin enthalten.
bin sollte im PATH normaler User vorkommen.
sbin sollte im PATH des Superusers sein.

Installationsdirectory ?
gegenwaertige Einstellung: "/usr/local"
/usr


Das Verhoer endet nun und die Parameter werden in ihre Files geschrieben.
In zukuenftigen Laeufen von KONFIGURIEREN kann man diese Einstellungen mit einer leeren Eingabe bestaetigen und muss nur noch die Werte eingeben, die man aendern will. Man kann sich auch Skripte schreiben, die haeufig gebrauchte Umstellungen erledigen.
Siehe LIESMICH Anhang KONFIGURATION fuer eine Beschreibung des Inhalts der einzelnen Files.


schreibe File scdbackup_scsi_adr_value
gelungen
schreibe File scdbackup_speed_value
gelungen
schreibe File scdbackup_blanken_value
gelungen
schreibe File scdbackup_buffer_value
gelungen
schreibe File scdbackup_use_prog_value
gelungen
schreibe File scdbackup_mkisofs_value
gelungen
schreibe File scdbackup_cdrecord_value
gelungen
schreibe File scdbackup_z_cap_value
gelungen
schreibe File scdbackup_sys_excl_value
gelungen
schreibe File scdbackup_t_lock_value
gelungen
schreibe File scdbackup_bin_sbin_root_value
gelungen
compile Programm temp_lock.c
gelungen
compile Programm raedchen.c
gelungen
compile Programm cd_backup_planer.c
gelungen
veroeffentliche Directory adresse : /home/test/scdbackup-0.7 in /home/thomas/.scdbackup_dir
gelungen
Erste Stufe der Installation vollendet.
--------------------------------------------------------
Nicht vergessen: als Superuser ./SUPERUSER_KONFIGURIEREN ausfuehren
--------------------------------------------------------

Nun koennte man bereits /home/test/scdbackup-0.7/backup_beispiel* verwenden, wie es fuer scdbackup* beschrieben ist. Aber es bleibt auf jeden Fall das Problem, dass nur der Superuser cdrecord_prog ausfuehren darf.
Also fuehre ich Schritt 3 der Installationsanleitung aus.

$ su
Password:
# ./SUPERUSER_KONFIGURIEREN
Dieses Skript gibt den CD-Brenner zur allgemeinen Benutzung frei
und installiert folgende Kommandos im Besitz des Superusers :
scdbackup in /usr/bin freigabe: a+rx,ug+w,o-w
scdbackup_home in /usr/bin freigabe: a+rx,ug+w,o-w
scdbackup_afio in /usr/bin freigabe: a+rx,ug+w,o-w
scdbackup_sys in /usr/sbin freigabe: ug+rwx,o-rwx
scdbackup_clear in /usr/bin freigabe: ug+rwx,o-rwx
Hinweis: das Installationsdirectory kann in ./KONFIGURIEREN eingestellt werden

Wollen Sie den Zugang zum CD Recorder freigeben ? (j/n)
J
bestaetigt
Wollen Sie die Skripte unter /usr/local installieren ? (j/n)
J
bestaetigt

Um dem Superuser den Zugang zu scdbackup zu ermoeglichen, wird noch WEITERER_USER ausgefuehrt.
# ./WEITERER_USER
veroeffentliche Directory-Adresse : /home/test/scdbackup-0.7 in /root/.scdbackup_dir
gelungen
# exit


zum seitenanfang | zur scdbackup homepage


Backuplauf mit scdbackup_home


Installiert wurde in /home/test. Das Sperrverfahren ist nicht eingeschaltet (man braucht es nur, wenn mehr als eine Person gleichzeitig mit der Maschine arbeiten).
Die Aktionen des Users (1 Kommando, 5 Entertasten) werden in Fettschrift gezeigt

$ scdbackup_home

Die Platte rappelt nun etwa fuenf Minuten lang.
Ich habe einen K6/350 und unter meinem HOME Directory sind etwa 3 GB.
Von Zeit zu Zeit erscheint eine dieser Informationszeilen:

... splitting .
... splitting ./p
... splitting ./p/sorten
########### 1 (9 items 670025728 bytes)
########### 2 (16 items 671067919 bytes)
########### 3 (10 items 671080448 bytes)
########### 4 (16 items 671072256 bytes)
... splitting ./.netscape
########### 5 (335 items 337185273 bytes)
########## part 1 of 5 (9 items 670025728 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Der Verteilplan fuer fuenf CDs ist nun gemacht und das Ergebnisskript hat die Kontrolle uebernommen.
Dies ist der Augenblick, eine CD-R einzulegen und die Eingabe-Taste zu druecken.

Die folgenden Meldungen stammen von mkisofs und cdrecord:

Total extents scheduled to be written = 326878
1.53% done, estimate finish Sat Nov 27 22:37:54 1999
...
99.43% done, estimate finish Sat Nov 27 22:28:10 1999
...
326878 extents written (638 Mb)
Cdrecord release 1.6 Copyright (C) 1995-1998 Jörg Schilling
...
/home/test/scdbackup-0.7/cdrecord_prog: fifo was 0 times empty and 20071 times full, min fill was 96%.
Fixating time: 62.121s

Die erste CD ist fertig, wird ausgeworfen und scdbackup fordert die naechste an:

########## part 2 of 5 (16 items 671067919 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Nun ist wieder der Moment gekommen, eine CD-R einzulegen und Eingabe zu druecken.

...
########## part 3 of 5 (10 items 671080448 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Eingabe druecken

...
########## part 4 of 5 (16 items 671072256 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Eingabe druecken

...
########## part 5 of 5 (335 items 337185273 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Eingabe druecken

$

Fertig. Fuenf CDs. Dicht gepackt. Ich habe mir in der Zeit zwei Spielfilme angeschaut und alle halbe Stunde die CDs gewechselt. (4 fache Geschwindigkeit)


zur scdbackup homepage

zum seitenanfang


Einen unterbrochen Backuplauf wieder aufnehmen


Wenn ein Backuplauf abgebrochen wurde, kann man ihn ohne neue Aufteilung der CDs weiterfuehren. Das hat den Vorteil, dass die neu entstehenden CDs zu den vorherigen passen. Es sollten allerdings in der Zwischenzeit nicht allzuviele neue Files erzeugt worden sein, damit die CD nicht ueberlaeuft.

$ scdbackup_home -resume

Nehmen wir an, der Lauf sei vor oder waehrend des vierten Stuecks abgebrochen worden:

########## part 4 (16 items 671072256 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Eingabe druecken

...
########## part 5 (335 items 337185273 bytes)
legen Sie die CD ein und druecken Sie die Eingabetaste

Eingabe druecken

$

Und wieder fertig. Die beiden fehlenden CDs sind erzeugt.


zum seitenanfang | zur scdbackup homepage


Bestimmten File oder Directory suchen lassen und zurueckkopieren


Von Zeit zu Zeit mache ich mir einen File kaputt.
Linux ist recht sicher, ich bin es nicht.
Nehmen wir einmal an, ich haette den File $HOME/gifs/milleniumbug.gif verloren. :-(
Aber ich hab ja meinen Backup. :-)

Zuerst mounte ich eine der CDs (es ist egal, welche)

$ mount /cdrom

Weil ich die "exec" Option in der /cdrom Zeile in /etc/fstab eingetragen habe, kann ich das ASKME-Skript direkt von der CD ausfuehren.

$ /cdrom/ASKME gifs/milleniumbug.gif
5 gifs gifs/milleniumbug.gif

Diese Antwort sagt mir, dass das ganze Directory "gifs" auf CD Nummer 5 ist.
Nun muss ich also diese CD mounten und kann dann meinen File wiederherstellen.

$ umount /cdrom

Ich lege die CD Nummer 5 ein und fuehre aus:
$ mount /cdrom
$ cp /cdrom/gifs/milleniumbug.gif $HOME/gifs
und schon ist der Milleniumbug (75 K GIF movie) wieder auf meiner Platte.

Mehr Informationen zu ASKME findet man in ASKME -hilfe


zum seitenanfang


Inkrementelle Backups


Bei groesseren Datenmengen wird es laestig, die alten Daten mit jedem Lauf neu zu sichern. Um dies (mit gewissen Einschraenkungen) zu vermeiden, kann man ein inkrementelles Backupschema verwenden.

Fuer diesen Zweck muss eine Backupkonfiguration erzeugt werden. Hier wird einfach scdbackup_home verwendet aber man koennte auch eine beliebig komplizierte Zusammenstellung von Datenquellen und Optionen aufzeichnen. Nachdem die Konfiguration erzeugt wurde, braucht man beim Backup nur noch den Namen der Konfiguration und die gewuenschte Auffrischungsebene anzugeben.

$ scdbackup_home \
       -conf_dir $HOME/home_backup \
       -level -create_configuration


Dadurch wird das Directory $HOME/home_backup erzeugt (es darf noch nicht existieren) und die effektiven Parameter des Backups werden aufgezeichnet. Ausserdem wird sofort ein Basisbackup (-level 0) gestartet. Dieser Backup unterscheidet sich nicht von einem normalen Lauf von scdbackup_home (siehe oben).
Der Unterschied zeigt sich beim Auffrischungslauf einige Tage spaeter :

$ scdbackup \
       -conf_dir $HOME/home_backup \
       -level 1


Dieses Kommando bewirkt, dass die Konfiguration $HOME/home_backup gelesen und auf Ebene 1 aufgefrischt wird. Ebene 1 macht einen Backup von allen Files, die seit dem letziten Backup der Ebene 0 geaendert oder neu erzeugt wurden.

Von nun an machen Sie also Basisbackups mit -level 0. Diese enthalten alle Files ohne jede Zeitbeschraenkung. Auffrischungen dieser Basisbackups werden in regelmaessigen Zeitabstaenden mit -level 1 gemacht.
Zusaetzlich kann man kurzfristigere Auffrischungen machen, indem man -level 2 Laeufe durchfuehrt.
Es gibt keine Obergrenze fuer die Zahl der Ebenen. Allerdings darf man sie immer nur um maximal 1 erhoehen. Das heisst, nach einem Lauf auf Ebene 0 kann man keinen Lauf auf Ebene 2 machen sondern hoechstens auf Eben 1. Der spezielle Ebenenname -level -next kann dazu benutzt werden, um die jeweils hoechstmoegliche Ebene zu waehlen.

Ein Backupschema, das von Montag bis Samstag nur die Aenderungen des Tages aufzeichnet und am Sonntag einen vollen Backup vorsieht.
  Montag:   -conf_dir $HOME/my_backup_conf -level -next
  ...
  Samstag:  -conf_dir $HOME/my_backup_conf -level -next
  Sonntag:  -conf_dir $HOME/my_backup_conf -level 0
Nun koennen die Datentraeger von Montag bis Samstag recycelt werden.

Ein Schema, das etwa vierteljaehrlich volle Backups macht, sowie nach vier Wochen und nach jeder einzelnen Woche auffrischt. (-conf_dir wie oben) Dieses Schema macht Aenderungen an Files ueber laengere Zeit nachvollziehbar.
  1. Woche :  -level 1
  2. Woche :  -level 2
  3. Woche :  -level 2
  4. Woche :  -level 2
  5. Woche :  -level 1
  6. Woche :  -level 2
  7. Woche :  -level 2
  8. Woche :  -level 2
  9. Woche :  -level 1
 10. Woche :  -level 2
 11. Woche :  -level 2
 12. Woche :  -level 2
 13. Woche :  -level 0
Danach beginnt man wieder bei Woche 1.
Die Levels 0 und 1 sollte man laenger aufheben.

Um beide gezeigte Schemata zu kombinieren, sollte man im ersten Schema den Sonntagslauf durch den woechentlichen Lauf des zweiten Schemas ersetzen.

Wenn man die Parameter der Konfiguration aendern will, kann man entweder das geaenderte Kommando mit der speziellen Ebene -level -update_configuration ausfuehren :

$ scdbackup_home \
       -max_items 1000 \
       -not trashdir newsdir \
       -conf_dir $HOME/home_backup \
       -level -update_configuration


oder man kann direkt den File mit der Parameterliste editieren:
$HOME/home_backup/specific_arguments
In diesem File wird jedes Argument in einer eigenen Zeile eingetragen. Die Liste beginnt mit den Argumenten, die automatisch von den Skripten der scdbackup-Familie erzeugt wurden und endet mit den Argumenten, die diesen Skripten uebergeben wurden.
Informieren Sie sich ueber die Bedeutung von Optionen, bevor Sie sie loeschen oder aendern. Ausserdem sollten Sie nach dem Editieren einen -level 0 Lauf machen.

Inkrementelle Backups enthalten auch die ASKME-Skripte der darunterliegenden Ebenen. Wenn man das ASKME-Skript von Ebene 2 benutzt, wird es versuchen, die ASKMEs von Ebene 1 und noetigenfalls Ebene 0 auszufuehren, wenn es einen File nicht selbst finden kann. Die Option -levelall fuehrt dazu, dass auf jeden Fall alle Ebenen befragt werden.

Diese Faehigkeiten sind nicht auf scdbackup_home beschraenkt, sondern koennen auch mit scdbackup und scdbackup_afio genutzt werden. Man kann eine beliebige Anzahl von Backupkonfigurationen in verschiedenen Directories halten.

Einige Einschraenkungen:
  • Leider bewirken reine Namensaenderungen im allgemeinen Filesystem von Linux keine Aenderung an den Zeitmarken von Datenfiles. Wenn man also einen File innerhalb des selben Filesystems bewegt, wird er nicht als "geaendert" erkannt.
  • Wegen der beschraenkten Zahl von Fileadressen , die mit mkisofs moeglich sind, kann eine Auffrischung ganze Directories enthalten, in denen es auch Files gibt, die aelter als das Stichdatum sind.


zum seitenanfang


CD mount Optionen


Die /cdrom Zeile in meiner /etc/fstab sieht so aus:

/dev/cdrom /cdrom iso9660 ro,user,noauto,unhide,exec




zum seitenanfang | zur scdbackup homepage