Using plain rsync
files are read the same way any application would read a file. This can lead to copies with inconsistent data. The best way to prevent inconsistent copies is using LVM snapshots, which will prevent changes to the data while copying.
From my experience, getting inconsistent data is rare, likely due to the way the the kernel buffers writes. Only very heavily written files, such as database files, result in corruption.
There are 2 parts to this question. First, why is there a difference between "Number of files" and "Number of files transferred". This is explained in the rsync manpage:
Number of files: is the count of all "files" (in the generic sense), which includes directories, symlinks, etc.
Number of files transferred: is the count of normal files that were updated via rsync’s delta-transfer algorithm, which does not include created dirs, symlinks, etc.
The difference here should be equal to the total amount of directories, symnlinks, other special files. Those were not "transferred" but just re-created.
Now for the second part, why is there a size difference with du. du shows the amount of disk space used by a file, not the size of the file. The same file can take up a different amount of disk space, if for example the filesystems blocksizes differ.
If you are still worried about data integrity, a easy way to be sure is to created hashes for all your files and compare:
( cd /home/hholtmann && find . -type f -exec md5sum {} \; ) > /tmp/hholtmann.md5sum
( cd /media/wd750/c51/home/ && md5sum -c /tmp/hholtmann.md5sum )
Best Answer
Yes. The
rsync
option uses hard-links. This means that if a file remains the same between snapshots (these are not backups, BTW) the file system only needs to store a new name/path for the same file. This also means that if a file changes between snapshots the entire new file needs to be copied.In contrast, BTRFS snapshots work at the file block level. This means that if a file changes between snapshots only the changed blocks need to be retained in the new snapshot; The other blocks of the same file can be shared between multiple snapshots.
Another thing which affects the amount of space used the filesystem overhead, which varies between filesystems.
Yes. Before using BTRFS it's worth reading the documentation. This is not your everyday filesystem. In particular read the Gotchas which discusses fragmentation of random-write files (such as Firefox sqlite databases).
In short, I don't know. Timeshift does integrate with the bootloader, but I don't know to what extent. You may need to get with the devs on this and do some testing on your own.