So, I just got a new 4TB SSHD and I'll have a tech install it at my house by May 26 of 2015. To back up my stuff, I bought a 4TB external drive and decided to copy everything from my internal and 3TB drives to my 4TB drive. I successfully got the 1TB copied over, but I accidentally canceled the 3TB transfer in the middle of the copy -which I was using nautilus- and I want to verify the integrity of the files since I don't know how my 3TB drive got filled up fast and I just want to erase everything on it once I get the integrity checked. To check the integrity, I don't want to re-format the drive since I have some excess files on here that aren't on the other drives. I want to have a command parse the path of every file in "directory a" as if it were chrooted, and then verify that the file exists on "directory b" and has the same hash and size. If the hash is different, the size is different, or the file doesn't exist on "directory b", it'll copy the file again. Here's an example.
Let's say directory A is on /a and directory b is on /b. If there is a file of 500KB that has a path of /a/eevee.png it will expect that /b/eevee.png exists and is 500KB with the same hash. If it doesn't exist, is not 500KB, and/or has a different hashsum, it will copy the file and overwrite without asking.
Also, an optional feature is this. If the file in directory a matches a file in directory b as I previously stated, but the timestamp is different, then the file in directory b has it's timestamp changed to whatever it is in directory a.
rsync
. – muru May 25 '15 at 05:38