du bringt falsche Zahlen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

du bringt falsche Zahlen

Beitrag von Huck Fin » 15.09.2008 14:37:43

Hi,
ich hab ein Problem mit dem Befehl du
Ich habe 2 Verzeichnisse.
/home/usb/daten (externe USB Platte)
/home/users/daten (interne HDD)
auf der internen sind schon Daten und am Anfang stimmen alle Zahlen.

Code: Alles auswählen

Backup gestartet am 15.09.2008-13:51
Backup Ziel =  /home/usb
Daten in Quelle            171770 /home/users/daten
Daten im Ziel              171770 /home/usb/daten
Anzahl Dateien in Quelle        345
Anzahl Dateien im Ziel          345
Backup fertig 15.09.2008-13:52
wenn ich Daten in den ordner /home/users/daten kopiere und diesen dann mit
rsync -aq --delete $quelle $ziel
kopiere, bekomme ich anschliessend immer unterschiedliche Zahlen.

Code: Alles auswählen

Backup gestartet am 15.09.2008-14:22
Backup Ziel =  /home/usb
Daten in Quelle            475324 /home/users/daten
Daten im Ziel              475280 /home/usb/daten
Anzahl Dateien in Quelle        4812
Anzahl Dateien im Ziel          4812
Backup fertig 15.09.2008-14:22
Die Dateien sind absolut identisch...
Ich versteh den Fehler nicht.

Benutzeravatar
ip
Beiträge: 347
Registriert: 16.05.2007 06:24:04

Re: du bringt falsche Zahlen

Beitrag von ip » 15.09.2008 16:31:56

hi,

kann an unterschiedlichen blockgrössen, verwaltungsdaten,... der beiden devices liegen!

mfg
-ip-

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 15.09.2008 16:46:34

Hi,
danke für die Info.
Es sind beides 500 GB Festplatten.
Die eine ist USB, die andere SATA
ein diff -r quelle ziel ergab, dass alles identisch ist.
Ich werd das mal überprüfen mit der Blockgrösse.
gibt es noch ne andere Möglichkeit, die Verzeichnisse sicher zu vergleichen ?
Es geht mir um ein Backup-Log.

Oder mach ich beim Befehl DU was falsch ?
du -sbk quelle ziel

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Re: du bringt falsche Zahlen

Beitrag von armin » 15.09.2008 17:08:26

Lass mal das "k" bei deinem du Aufruf weg. Vielleicht ändert es was. Blockgröße 1K != Blockgröße 1 :)
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 15.09.2008 17:20:10

ändert leider alles nix am ergebniss.
und blocksize ist soweit ich das sehe überall 512

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: du bringt falsche Zahlen

Beitrag von rendegast » 15.09.2008 17:57:05

vielleicht gibt es Ordner mit unterschiedlicher Größe, /lost+found/?

Code: Alles auswählen

find Quelle -type d -ls
find Ziel -type d -ls
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: du bringt falsche Zahlen

Beitrag von Simmel » 15.09.2008 18:06:02

Huck Fin hat geschrieben:ändert leider alles nix am ergebniss.
und blocksize ist soweit ich das sehe überall 512
Versuch es mal mit dem Schalter -h (--human-readable) anstatt -k

Code: Alles auswählen

simmel@monolith:~$ du -sbh /etc/passwd /home/simmel
1.9K    /etc/passwd
48G     /home/simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 15.09.2008 18:17:01

hab ich probiert mit -sbh, sbk, sch, alles mit dem selben Ergebniss.

Ich überlege, ob ich mein Backup mit dd machen soll.
Aber dann müsste ich die Seriennummer der USB-HDD auslesen für ne log-datei.
k.a. wie das geht mit lsusb.
Weis auch nicht, ob das ne gute idee ist...

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: du bringt falsche Zahlen

Beitrag von cirrussc » 15.09.2008 18:31:45

Huck Fin hat geschrieben:Aber dann müsste ich die Seriennummer der USB-HDD auslesen für ne log-datei.
k.a. wie das geht mit lsusb.
Häää?

Es gibt unzählige Möglichkeiten ein Backup zu machen: partimage, mondo, cp...
gibt es noch ne andere Möglichkeit, die Verzeichnisse sicher zu vergleichen ?
Dateien zu mindest mit md5sum oder sha1sum.

Die Dateisysteme auf den Platten spielen sicherlich auch eine Rolle, deren Blockgöße wurde hier auch gemeint.
Aber wenn die Prüfsummen korrekt sind, ist doch alles ok.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
neuss
Beiträge: 2165
Registriert: 06.11.2004 17:56:02
Lizenz eigener Beiträge: MIT Lizenz

Re: du bringt falsche Zahlen

Beitrag von neuss » 15.09.2008 18:55:54

man du hat geschrieben: du - schätzt Platzverbrauch von Dateien
du ist in keinster Weise dafür gedacht Dateien zu vergleichen und demzufolge entsprechend ungeeignet, ein Backup auf Konsistenz zu prüfen.
stell dir vor, es geht, und keiner kriegt es hin.

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 15.09.2008 19:30:24

o.k.
Danke für die Info.

Gibt es ne Alternative zu du ?

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: du bringt falsche Zahlen

Beitrag von cirrussc » 15.09.2008 22:45:42

Du könntest wie gesagt, die Checksummen prüfen. Mit diff & co lässt sich eventuell auch was machen.
Aber mal ehrlich, wenn die jetzt fehlerfrei übertragen wurden, ist das doch kaum notwendig.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 16.09.2008 10:32:09

Ich prüfe das ganze nochmal mit diff -r quelle ziel

Aber wie das so ist...
Man hätte halt gerne noch den Vergleich der Datengrösse.
Weil nix ist schlimmer wie ein Backup, wo nachher Daten fehlen...
Wenn ich was finde, poste ich das hier...

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: du bringt falsche Zahlen

Beitrag von cosmac » 16.09.2008 11:41:28

hi,

mit diff bekommst du das alles, es wird Byte-weise verglichen und wenn nur eins fehlt, gibt's eine Meldung. Wenn eine ganze Datei fehlt, gibt's natürlich auch eine Meldung. Zuverlässiger geht's doch eigentlich nicht.

Alle Tricks mit md5sum und du usw. dienen doch nur dazu, den Zeitaufwand für den vollständigen Vergleich zu reduzieren. Noch so ein Trick:

Code: Alles auswählen

ls -laR /original > /tmp/ls-o
ls -laR /backup > /tmp/ls-b
diff /tmp/ls-o /tmp/ls-b
Beware of programmers who carry screwdrivers.

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: du bringt falsche Zahlen

Beitrag von Meillo » 16.09.2008 12:18:56

cosmac hat geschrieben:mit diff bekommst du das alles, es wird Byte-weise verglichen [...]
Nein. `diff' ist zum zeichenweisen Vergleich von Textdateien. `cmp' vergleicht Binärdateien.

Mein Vorschlag:
- mit `ls' bzw. `find' und `diff' die Vollständigkeit der Dateien prüfen
- mit `cmp' oder `md5sum' die Integrität der Dateien prüfen

Wenn das passt, dann ist alles komplett gespiegelt.
Use ed once in a while!

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: du bringt falsche Zahlen

Beitrag von cosmac » 16.09.2008 12:53:21

Meillo hat geschrieben:
cosmac hat geschrieben:mit diff bekommst du das alles, es wird Byte-weise verglichen [...]
Nein. `diff' ist zum zeichenweisen Vergleich von Textdateien. `cmp' vergleicht Binärdateien.
o.k., diff ist streng genommen nicht das richtige Werkzeug, aber kann cmp irgendwas, was diff nicht kann? Bzw. kann es Probleme mit diff und Binärdateien geben? Immerhin ist dank UTF ein Zeichen nicht mehr ein Byte, andererseits sagt diff ggf.: "Binary files foo and bar differ".

Für den Backup-Vergleich kennt diff die praktische Option -r, cmp nicht und faszinierenderweise ist diff auch noch schneller:

Code: Alles auswählen

tassi:~# cp -p /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/
tassi:~# time diff /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/linux-source-2.6.25.tar.bz2 

real    0m3.787s
user    0m0.472s
sys     0m0.664s
tassi:~# time cmp /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/linux-source-2.6.25.tar.bz2 

real    0m5.935s
user    0m1.376s
sys     0m0.584s

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: du bringt falsche Zahlen

Beitrag von Huck Fin » 16.09.2008 13:30:12

Das mit md5sum hört sich gut an.
Aber kann man damit quelle + ziel überprüfen ?
Sieht sehr kompliziert aus...

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: du bringt falsche Zahlen

Beitrag von Meillo » 16.09.2008 14:02:31

cosmac hat geschrieben:
Meillo hat geschrieben:
cosmac hat geschrieben:mit diff bekommst du das alles, es wird Byte-weise verglichen [...]
Nein. `diff' ist zum zeichenweisen Vergleich von Textdateien. `cmp' vergleicht Binärdateien.
o.k., diff ist streng genommen nicht das richtige Werkzeug
Ist das nicht Grund genug? Für mich schon.

[...] und faszinierenderweise ist diff auch noch schneller:

Code: Alles auswählen

tassi:~# cp -p /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/
tassi:~# time diff /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/linux-source-2.6.25.tar.bz2 

real    0m3.787s
user    0m0.472s
sys     0m0.664s
tassi:~# time cmp /usr/src/linux-source-2.6.25.tar.bz2 /dev/shm/linux-source-2.6.25.tar.bz2 

real    0m5.935s
user    0m1.376s
sys     0m0.584s
Bei der Systemzeit ist `cmp' aber schneller ... bist du sicher, dass `diff' auch bei häufigen Tests schneller ist?
Denn `cmp' ist _sehr viel_ simpler aufgebaut als `diff'.


However ... diese Diskussion betrifft das eigentliche Problem des Threads nicht.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: du bringt falsche Zahlen

Beitrag von Meillo » 16.09.2008 14:06:09

Huck Fin hat geschrieben:Das mit md5sum hört sich gut an.
Aber kann man damit quelle + ziel überprüfen ?
Sieht sehr kompliziert aus...
Du machst es in etwa so:

Code: Alles auswählen

find /path/to/orig -exec md5sum '{}' >> /tmp/orig.md5sum \;
find /path/to/backup -exec md5sum '{}' >> /tmp/backup.md5sum \;
diff -u /tmp/orig.md5sum /tmp/backup.md5sum
... dann hast du den Check auf Vollständigkeit auch gleich drin.

(btw: das ist ungetestet)
Use ed once in a while!

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: du bringt falsche Zahlen

Beitrag von cirrussc » 16.09.2008 18:24:02

Meillo hat geschrieben:
cosmac hat geschrieben:mit diff bekommst du das alles, es wird Byte-weise verglichen [...]
Nein. `diff' ist zum zeichenweisen Vergleich von Textdateien. `cmp' vergleicht Binärdateien.
Gibt ja noch Debianrdiff.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Antworten