Shellskript: Datei mit Schleife kopieren/replizieren lassen

Post Reply
Message
Author
qxw2c
Posts: 2
Joined: 30. Nov 2009 21:52

Shellskript: Datei mit Schleife kopieren/replizieren lassen

#1 Post by qxw2c »

Hallo ihr,

ich möchte einen bei Ebay gekauften USB Stick auf seine Größe untersuchen und dazu die Datei 1.mp3 so oft vom Desktop auf den Stick kopieren lassen, bis dieser voll ist. Jemand eine Idee dazu? Ich habe mich schon halb tot gesucht!

Grüße

qxw2c

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Warum kopierst du nicht einfach eine sehr sehr große Datei drauf, die gerade noch draufpassen sollte, ziehst den Stick ab, steckst ihn wieder dran und vergleichst sie mit dem Original? Dann kannst du dir sicher sein, dass der Stick die angegebene Speicherkapazität hat. Mit deiner Idee erreichst du nichts dergleichen. Oder welchen Sinn soll das haben?

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

qxw2c
Posts: 2
Joined: 30. Nov 2009 21:52

#3 Post by qxw2c »

Weil ich keine 64 GB große Datei habe ;-)Mit meiner Idee wollte ich schauen, ab welcher Mp3-Datei, also dem vielfachen der Größe der Urspungsdatei, Fehler bei der Wiedergabe kommen.

pferdefreund
Posts: 35
Joined: 17. Apr 2007 16:55

#4 Post by pferdefreund »

Warum nicht mit dd knapp 64 GB aus /dev/zero draufhauen und dann mit
echo "irgendwas" >> hinterher ans Ende der Datei schreiben.
Wenn du dann am Ende der Datei dein "irgendwas" findest (nach remount), dann
sollte das Teil doch in Ordnung sein.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#5 Post by Janka »

Falls der USB-Stick mit FAT formatiert ist, kann man eh keine 64GB-Dateien anlegen. Bei 2GB ist Schluss. Deine Idee, 64GB MP3 *durchhören* zu wollen ist jedenfalls unsinnig.

In dem Fall legst du eine Datei mit 2GB an, merkst dir die Prüfsumme, kopierst sie auf den Stick. Dann eine neue Datei mit 2GB, neue Prüfsumme, wieder auf den Stock kopieren etc. Im einfachen Fall darf es auch immer dieselbe Datei sein.

Folgendes Skript ausführen:

Code: Select all

#!/bin/bash

echo "Erzeuge Testdatei"
dd if=/dev/urandom of=testdatei bs=1M count=2047

echo "Kopiere Testdatei auf Stick"
for &#40;&#40; i=0 ; i<32 ; i++&#41;&#41;
do
 cp testdatei /media/disk/$i
done
Danach Stick abziehen, warten, einstecken. Dann folgendes Skript ausführen.

Code: Select all

#!/bin/bash
echo "Prüfe Stick"
for &#40;&#40; i=0 ; i<32 ; i++&#41;&#41;
do
 cmp testdatei /media/disk/$i || echo "Fehler bei Datei $i" 
done
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Post Reply