Ich weiß jetzt nicht ob wirklich rsync oder eines der anderen Programmchen, aber ich glaube rsync konnte die Dateien Blockweise hashen und nur den Hash bergleichen, anstatt jedes Byte einzeln, womit es dann schneller geht, wenn jeweils die Hashs auf den Seiten berechnet werden, auf welchen die Dateien liegen.
Standardmäßig verwendet rsync zum Vergleich den Timestamp der Dateien, um festzustellen, ob sie kopiert werden muss. Erst beim Kopieren versucht es blockweise zu kopieren und Prüfsummen zu übertragen, um Bandbreite zu sparen. Es gibt aber eine Option (--checksum wenn ich mich recht erinnere), bei der der initiale Vergleich anhand einer Prüsumme geschieht. Das ist dann allerdings um Größenordnungen langsamer.
rsync selbst kann der Fragesteller allerdings gar nicht einsetzen, außer um eine Datei ggf. lokal zu kopieren, was vielleicht schneller ist als der Zugriff via SMB.
Es ist jedoch wirklich ein gutes Beispiel, wie man es machen könnte, vorausgesetzt, man kann auf dem Server (NAS) Programme via
ssh ausführen.