cksum Problem

cat1510

Well-Known Member
Hi Leute,

habe ein Sicherungsskript geschrieben.
Das moechte ich aber erst posten, wenn es komplett funktioniert.

in meinem script wird eine dvd auf den richtigen Inhalt getestet.

Code:
mount_udf $DVD $MNT
  VERIFY1=`md5 -q $BACKUPPATH/$BACKUPFILE`
  VERIFY2=`md5 -q $MNT/$BACKUPFILE`
  VERIFY3=`cksum $BACKUPPATH/$BACKUPFILE | awk '{ print $1 }'`
  VERIFY4=`cksum $MNT/$BACKUPFILE | awk '{ print $1 }'`
  if test $VERIFY1 = $VERIFY2
  	then
	if test $VERIFY3 = $VERIFY4
		then
		LINETEXT="Der Inhalt wurde geprueft, die Daten wurden vollstaendig geschrieben am `date`."
		printline
		else LINETEXT="Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am `date`."
		umount -f $MNT
		printline
		printline2
		mail -s "VERIFY ERROR! `uname -a`" $ERRORMAILADRESS < $LOGFILE
		exit 1
        fi
	else LINETEXT="Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am `date`."
	umount -f $MNT

das ganze ist ein sh script.

Schalte ich set x mit ein sieht man folgendes:

+ mount_udf /dev/cd0 /mnt
+ md5 -q /usr/backup/backup.tar.gz
+ VERIFY1=13b641a6d53c0787fbf337b0dad6ff32
+ md5 -q /mnt/backup.tar.gz
+ VERIFY2=13b641a6d53c0787fbf337b0dad6ff32
+ cksum /usr/backup/backup.tar.gz
+ awk { print $1 }
+ VERIFY3=1789157853
+ cksum /mnt/backup.tar.gz
+ awk { print $1 }
+ VERIFY4=1172177056
+ test 13b641a6d53c0787fbf337b0dad6ff32 = 13b641a6d53c0787fbf337b0dad6ff32
+ test 1789157853 = 1172177056
+ date
+ LINETEXT=Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am Wed Nov 2 17:09:23 CET 2005.
+ umount -f /mnt
+ printline
+ echo -e \n***** Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am Wed Nov 2 17:09:23 CET 2005. *****\n
+ logger Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am Wed Nov 2 17:09:23 CET 2005.
+ printline2
+ date +%s
+ ENDE=1130947763
+ echo 1130947763 - 1130946942
+ bc

***** Der Inhalt des Mediums stimmt nicht mit der Quelldatei ueberein am Wed Nov 2 17:09:23 CET 2005. *****

+ TIME=821
+ date -r 821 +%H:%M:%S
+ echo -e \n***** Dauer des Sicherungsvorgangs 01:13:41 Stunden:Minuten:Sekunden. *****\n

***** Dauer des Sicherungsvorgangs 01:13:41 Stunden:Minuten:Sekunden. *****

+ uname -a
+ mail -s VERIFY ERROR! FreeBSD server.noel.local 5.4-RC3 FreeBSD 5.4-RC3 #0: Wed Apr 20 13:48:51 UTC 2005 root@hacker1.byteworker.local:/usr/obj/usr/src/sys/BYTEWORKER i386 freebsd@byteworker.com
+ exit 1


Da sieht man, dass die cksum nicht gleich ist.
Frage: Ist die cksum der Datei auf der Festplatte eine andere als auf der DVD, weil die DVD mit UDF Unterstuetztung erzeugt wurde?

Auf 2 Testsystemen habe ich das Script getestet und es ist nicht durchgelaufen.
Beide Systeme haben einen Samsung DVD Brenner.
Dann habe ich es auch noch mit einem NEC 4550A und 3550A getestet.
Einen Plextor PW-740A habe ich auch ausprobiert. Mit den Brennern geht es.

Ist eine cksum nicht immer gleich? Also nur, wenn die Daten erfolgreich geschrieben wurden... klar.

Fuer einen Tip waere ich sehr dankbar.

CAT
 
Ich denke da kann es je nach Laufwerk Modell zu unterschieden kommen. Versuche mal die DVD langsam zu brennen, damit weniger von der Fehlerkorektur des Laufwerks abhängt.
 
da die md5-checksumme gleich ist, wuerde ich einmal beide dateien byte fuer byte vergleichen mit cmp(1) und ansonsten cksum in die tonne treten, obwohl's natuerlich schon komisch ist.

edit: sehe grad, dass es mit anderen brennern ging? sehr merkwuerdig.
 
Zurück
Oben