6 November 2009Recursive file/directory change-detection
Version 2
Another, much faster method would be to use ls -lR to browse over the filesystem. On a newly installed Debian virtual machine (on Xen) hashing the entire filesystem (the root directory) took approximately 1.7 seconds. So, here it is:
1 | ls -lR "$D" | sha1sum | sed 's/[ -]//g' |
This method is sensitive to file name, size and modification size; usually that would be enough but if you need more control use…
Version 1
Detect when the contents of a file or directory ($D) changes:
1 | find "$D" | while read f; do stat -t "$f"; done | sha1sum | sed 's/[ -]//g' |
This yields a hash of the current state of the file or directory which is extremely sensitive to even the most subtle changes (even a simple touch to any file/directory somewhere inside “$D” changes the generated hash).