Clarification regarding incremental backup

Hello - I’m new to self-hosting (and Linux in general, actually).

I’ve read the Seafile manual and a couple of relevant forum posts but would like to clarify regarding backup strategy - specifically, incremental backup with rsync/rclone.

I’m aware Seafile stores data in blocks, which I understand don’t change.

I’m also aware rsync/rclone works by identifying file checksums and/or modification times and file sizes.

I don’t quite understand how these things are both true at the same time. If the blocks never change, how can rsync/rclone identify that the files stored within the blocks have changed and know to copy only those blocks?

I’m sure there’s something very obvious I’m missing, but as someone completely self-taught, it escapes me.


Because blocks are never changed, so rsync/rclone will only copy newly added blocks to the backup.

So if I edit/update a file (example.txt), no existing blocks change, but a new block is created that reflects the change? So rsync will see that new block and example.txt within Seafile will be the latest version when it is backed up?

Yes, it works in this way.