After a server crash a wanted to compare all actual files with the backuped data. An easy way is to compare the md5 hashes like that:
First create recursively md5 hashes from all files in that directory:
find ./backup -type f -print0 | xargs -0 md5sum > /checksums_backup.md5 |
Then check the actual data:
md5sum -c checksums_backup.md5 |
I was lucky, no files where damaged.
11 comments
find ./backup -type f -exec md5sum {} \;>> /checksums_backup.md5
Läuft meiner Erfahrung nach oft schneller als xargs. Vielleicht in diesem Falle nicht ganz so relevant, aber für andere Fälle 😉
Danke 🙂
Ich hoffe, ich brauch’s nicht so schnell wieder.
why when used md5sum i encountered to no such file or directory!?,…
#!/bin/sh
chksumfile=’tmp’
`md5sum -c “$chksumfile”`
———————-
# sh verifychksum.sh
verifychksum.sh: line 3: chksum/ss/RecoverDataLinuxTrial.tar.gz:: No such file or directory
================================
while when i run command line :
# md5sum -c tmp
chksum/ss/RecoverDataLinuxTrial.tar.gz: OK
chksum/ss/zziplib-0.13.49-8.fc12.i686.rpm: OK
chksum/RecoverDataLinuxTrial.tar.gz: OK
chksum/zziplib-0.13.49-8.fc12.i686.rpm: OK
chksum/s: OK
chksum/chsum: OK
Thanks, that worked flawlessly! Though I used the variant as proposed by tante.
This worked for me for a while, but I ripped a CD with apostrophe’s in the track names and the file shows up as missing in FlashSFV with the name garbled.
[user@operation420.net Compton.ogg]# ls
01. Intro.ogg 10. One Shot One Kill.ogg
02. Talk About It.ogg 11. Just Another Day.ogg
03. Genocide.ogg 12. For the Love of Money.ogg
04. Itâs All on Me.ogg 13. Satisfiction.ogg
05. All in a Dayâs Work.ogg 14. Animals.ogg
06. Darkside_Gone.ogg 15. Medicine Man.ogg
07. Loose Cannons.ogg 16. Talking to My Diary.ogg
08. Issues.ogg checksums.md5
09. Deep Water.ogg
[user@operation420.net Compton.ogg]# grep “All in a Day” checksums.md5
1623f1081bc98711d67ad32b5efd4680 ./05. All in a Dayâs Work.og
Thanks. I used your command with “sum” and my own output filename and it worked!!
Steve M.
google “md5sum recursive” ging direkt hierher … und funktioniert prima – danke!
great, thanks!
md5 isn’t secure, neither is sha1. Sha256 must be used. Thanks for the post though, still useful ten years later.
True, md5 is not secure for password hashing and such. But for verifying just the integrity of a file locally, it is fully enough.
Give paq a try got unique directory hashes: https://github.com/gregl83/paq
3 Trackbacks/Pingbacks
[…] support going through each folder and checksuming each file and outputting the sums. Sure there are one line shell scripts/commands you can run but I was really looking for a way that would not require hacking about. I finally found what I was […]
[…] and sub-directory’s. The default command sadly doesn’t support recursion. Good thing, Michael Simons fixed it for me […]
[…] L'idée générale vient de Michael Simons. […]
Post a Comment