Skip to content

Command c (Compare one master dir against one or more slave dir(s))

Franco Corbelli edited this page Sep 2, 2023 · 1 revision

Compare a 'master' directory (d0) against N 'slaves' (d1, d2, dN).
Examples
In the world of professional archiving it is normal to have a source (master) directory copied, with different mechanisms, to multiple destination (slave) directories (as is known directory can have ubiquitous meaning for *nix systems). Usually some of these folders will be (*nix) NFS or SMB mountpoints, where you copy with rsync, zfs-replica, robocopy (Windows) etc. Or, in the case of zpaqfranz or 7z or rar, by extracting a full backup inside a temporary folder.
How can you be sure that all the master files are in the slaves, and that there are no more files in the slaves than the master? Especially with the use of utf8 names (non-Latin, often incompatible between UNIX-zfs and Linux-ext4) and path lengths> 260 (for NTFS)? And if you have some zfs' snapshot in the path?

Typically by a dry-run rsync or robocopy or by... zpaqfranz

Without further options, the control is done on the file name and size, not on the content, and is essentially designed for copies on NAS and similar devices (quick, but not 100% sure).

Switches

-all

Concurrent threads will be created, each scan a slave dir (-t K to limit).
NOT good for single spinning drives, good for multiple slaves on different media.

-checksum

Do 'hard' check (default SHA-1), comparing hash values instead of only filesize.

-xxhash -sha256 -crc32 -crc32c -sha1

Do 'hard' check, with different checksum algos.
Different checksums

-maxsize X

Filter out on filesize

-minsize X

Filter out on filesize

-715

Work as 7.15 (with .zfs and ADS)

-flagforcezfs

Include .zfs

Clone this wiki locally