Hej folks,
Problembereich "Script-Routine": Eine gepackte Datei wird gesplittet und soll via Disketten verschoben werden. Der gepackte tar wird Disk-gemäss gesplittet nach file.tgz.001, file.tgz.002 ...
So läufts nach dem Packen und Splitten mit 2 Disks:
mount /floppy
mv *.001 /floppy
umount /floppy
echo Disk wechseln ... [Ret]
read
mount /floppy
mv *.002 /floppy
umount /floppy
echo Done ... [Ret]
read
Wie heisst die Schleife, um floppy zu mounten, file.tgz.001 zu verschieben, zu unmounten .. und die Schleife beginnt von vorne. Notwendig, wenn nicht klar ist,
wieviele Disks nötig: also nicht nur 2, sondern 3 oder 4.
Ich hatte folgenden Versuch gestartet:
for i in file.tgz.*i; do
mount /dev/fd0;
mv *.0* /floppy;
umount /dev/fd0;
echo Diskette wechseln ... [ENTER]
read
done
Ha, sagt der Fachmann - so läuft das natürlich nicht.
Ja, das hab ich auch gemerkt. Der Script schiebt den 1. gesplitteten file auf die Disk - aber nur zum Teil, und statt nun auf echo und read zu warten, schiebt er den anderen gesplitteten files auch nur zum Teil auf die Disk und kommt dann erst zu read ... und schliesst zu guter letzt den Script ab!
Wo ist der Fehler in meiner Schleife?
Danke. edico
Linux 15.047 Themen, 107.204 Beiträge
Hallo Klaus,
dein Vorschlag getestet:
edico@linux:~ > x2nt4
x/Data:Projekte
tar: Removing leading `/' from member names
Splitting file.tgz into 2 pieces.
file.tgz.001 1433600 bytes
file.tgz.002 553083 bytes
mv: /floppy/file.tgz.002: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Diskette wechseln ... [RET]
mv: /floppy/file.tgz.002: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Diskette wechseln ... [RET]
mv: /floppy/file.tgz.002: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Diskette wechseln ... [RET]
... done.
packt mir auf die Diskette1 den 001-file vollständig und (!) 23K von 553K des 2.files, letzteres soll er nicht! Er öffnet nicht das Floppy erneut, weil er wohl der Ansicht ist, dass er auch den 002-file verschoben hat; soll er auch nicht!
Zum anderen: was ist denn bei dem Befehl, wenn mein tarball so gross ist, dass es vier splittings werden und beim nächsten Mal zwei, dann drei ...??
Mir scheint, dass die for-Schleife nicht für Scripte dieser Art geeignet ist; aber was wäre die Problemlösung? Ich weiss, Du bist um eine Antwort nie verlegen.
Danke. edico
