Hi there,

On Sat, 28 Jul 2018, Guillermo Rozas wrote:

... rsync --checksum only checksums files on the client, not the
server.  I find this strange because not only the manual says
otherwise ...

It is not clear to me what document ("manual") you are reading which
leads you to the conclusions which you seem to have drawn.  If you can
give links to the document(s), and quote(s), that might assist.

Quoting from the file .../backuppc-master/doc-src/BackupPC.pod which I
downloaded today from Github:

*   Uses full-file MD5 digests, which are stored in the directory attrib
    files. Each backup directory only contains an empty attrib file whose
    name includes its own MD5 digest, which is used to look up the attrib
    file's contents in the pool. In turn, that file contains the metadata
    for every file in that directory, including each files's MD5 digest.

I take this to mean that, in order to find the checksums for the files
on the client, the server looks in the files in its data directory for
that client precisely because, when it does so, it does NOT then need
to read pool files (to re-calculate the checksums) because it has done
that work already and saved the results in the filesystem.  Naturally,
using this approach, you rely on the integrity of the previously saved
pool data.  That seems to me to be a very reasonable approach if, for
example, (1) you are confident of the reliability of your power supply,
your hardware, and your choices of OS and filesystem; (2) the backup
server is dedicated to the task (perhaps even if it is a shared server
but the backup data store is on a dedicated partition) so you can be
confident that errant processes will not unexpectedly damage the data;
and (3) neither life nor limb will depend on the backup.

Also from the same document:

*   An rsync "full" backup now uses --checksum (instead of --ignore-times),
    which is much more efficient on the server side - the server just
    needs to check the full-file checksum computed by the client,
    together with the mtime, nlinks, size attributes, to see if the
    file has changed. If you want a more conservative approach, you
    can change it back to --ignore-times, which requires the server to
    send block checksums to the client.

This seems to me further to confirm my interpretation of the earlier
quote, and also to suggest the behaviour which you yourself describe
in your posts.  It explicitly refers to "a more conservative approach"
which may be what you want.



Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
BackupPC-users mailing list
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

Reply via email to