Recursively md5sum all files in a directory tree

October 25, 2008 by Michael

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.


  1. tante wrote:

    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 😉

    Posted on October 25, 2008 at 2:31 PM | Permalink
  2. Michael wrote:

    Danke :)
    Ich hoffe, ich brauch’s nicht so schnell wieder.

    Posted on October 25, 2008 at 5:13 PM | Permalink
  3. sahar wrote:

    why when used md5sum i encountered to no such file or directory!?,…

    `md5sum -c “$chksumfile”`
    # 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

    Posted on June 19, 2011 at 8:14 AM | Permalink
  4. Benjamin wrote:

    Thanks, that worked flawlessly! Though I used the variant as proposed by tante.

    Posted on November 17, 2015 at 10:02 AM | Permalink
2 Trackbacks/Pingbacks
  1. […] 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 […]

  2. Recursively make md5sum on August 27, 2015 at 11:21 AM

    […] and sub-directory’s. The default command sadly doesn’t support recursion. Good thing, Michael Simons fixed it for me […]

Post a Comment

Your email is never published nor shared. Required fields are marked *