Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : shell: per mkisofs mehrere iso's erstellen



jph83
06-10-2004, 15:09
Hallo,

ich bin dabei ein shell skript zu schreiben mit dem ich meine daten sichern kann.
dazu nutze erstelle ich zuerst über


mkisofs -r -J -o /home/jph/backup.iso /ordner

ein ISO und brenne dies dann auf CD.
Dazu folegnde Fragen
1.) Wie kann ich festlegen, dass das ISO eine bestimmte größe nicht überschreitet dh. maximal z.b. 700 MB groß ist und danach dann ein neues anlegt?
2.) wie kann ich mehrere ordner zum ISO hinzufügen einfach über /ordner /ordner2 am ende des befehls?

DANKE

undefined
06-10-2004, 15:31
Mit der -b und -split-output Option siehe man mkisofs
mfg undefined

peschmae
06-10-2004, 19:23
Mit der -b und

Das ist für die Angabe eines Eltorito Bootimages :confused:


-split-output Option siehe man mkisofs
mfg undefined

und das ist wohl auch nicht das gesuchte - schliesslich bleibt es _ein_ ISO image das einfach (wie mit split) in mehrere Teile geteilt ist. d.h. die einzelnen Teile sind nicht separat mountbare ISOs.

1) Das ist nach meinen Erfahrungen schwierig einzuschätzen (vor allem weisst du auch nicht genau wieviel platz die Dateisysteminfos brauchen, etc) - ich hab sowas in einem Bashscript gemacht fürs Brennen meiner MP3s und DIgicam-Fotos: klick (http://gnu.buildtolearn.net/scripts/mp3burn/) - geht recht gut aber ich kann mir vorstellen dass die Sache z.B. bei vielen kleinen Dateien oder so ins schleudern kommt.
2) Genau.

MfG Peschmä

jph83
06-10-2004, 22:47
also ich habe es bis jetzt so gemacht:

#!/bin/sh
DATUM=`date '+%Y-%m-%d'`

PFADE='/home/jph/wallpaper/ /home/jph/mp3'
CDSIZE=650

tar cvz ${PFADE} | split -b${CDSIZE}m - ../../../backup/archiv.tgz.split.


funktioniert weitesgehend wunderbar. es werden mir jeweils 650 MB große Pakete in den entsprechenen Ordner gepackt (die kann man hinterher per cat archiv.tgz.split.* |tar xz wieder zusammenbauen.
Nun würde ich gerne noch diese gesplitteten Dateien auf einzelne CDs brennen.
Ich habe mir überlegt, dass es eigenltich 2 wege geben dürfte :
1. man lies alle in diesem verzeichnis liegende Dateien uns und brennt aus jeder per cdrecord eine CD... ? WIE?
2. Man brennt die CD on-the-fly. a) geht das überhaupt? b) kann ich da an das split noch eine weitere PIPE-umleitung hängen? c) wie?

DANKE

peschmae
07-10-2004, 07:09
Ich habe mir überlegt, dass es eigenltich 2 wege geben dürfte :
1. man lies alle in diesem verzeichnis liegende Dateien uns und brennt aus jeder per cdrecord eine CD... ? WIE?



for f in *.part; do
cdrecord $f
done




2. Man brennt die CD on-the-fly. a) geht das überhaupt? b) kann ich da an das split noch eine weitere PIPE-umleitung hängen? c) wie?


Ich glaub nicht dass das geht weil du bzw. cdrecord wohl nicht erkennt wann die nächste Datei beginnt - deshalb musst du das wohl zwingend in _mehrere_ Dateien schreiben.

In jedem Fall halte ich das ganze für riskant - du benötigst zwingend alle Teile des riesenISOs in intaktem Zustand damit du etwas auslesen kannst.

MfG Peschmä