While trying to back up the last parts of my system, I discovered one reason why I’ll never use Timeshift.
My Btrfs file system is corrupted but mountable (read-only). In read-only mode, I can access everything. I can even transfer every single snapshot of the system using btrfs send. However, Btrfs only allows sending snapshots that are marked as read-only. Luckily, I used snapper, so all snapshots are read-only.
But why use btrfs send instead of rsync -aHXx...?
- btrfs send doesn’t miss a single bit (you can’t miss the right options).
- btrfs send is faster.
- btrfs send can send multiple snapshots, so you can transfer, for example, 50 snapshots of a 90 GB subvolume in such a way that they occupy the same amount of space at the destination as at the source (perhaps only 100 GB). Only 100 GB are actually transferred, and then all 50 snapshots are at the destination.
My lessons:
- Snapshots can be transferred this way. However, I can back up the writable subvolumes only with rsync (without deduplication).
- If I had used timeshift, all snapshots would be marked writable, and I wouldn’t be able to send them with btrfs send.
- Changing the RW attribute of a snapshot is “always” possible, but not if the filesystem is mounted read-only. (Mounting it writable is not possible and is prohibited also generally in the case of a damaged file system)
![]()