What I have done to maintain the integrity of my Time Machine backups (to UnRAID, via SMB):
For the "sparsebundles break" issue:
* Back up to multiple targets. I use both mbentley's Time Machine Docker image (only one backup per source machine) and UnRAID's built-in Time Machine functionality (multiple backups of same machine allowed).
* Use spaceinvader1's macinabox Docker image to have a local way to `fsck_apfs` the above sparsebundles.
* When one irreparably breaks, delete it and replace it with a copy of a working one from another of the above targets.
For the "backups are incredibly slow" issue:
* One of the above targets is to an SSD.
* Use TheTimeMachineMechanic's "Speed" option after a backup to determine the slow spots. Look at patterns in "Current:" lines. Pumping the output to an LLM is very helpful here.
For the "sparsebundles break" issue:
* Back up to multiple targets. I use both mbentley's Time Machine Docker image (only one backup per source machine) and UnRAID's built-in Time Machine functionality (multiple backups of same machine allowed).
* Use spaceinvader1's macinabox Docker image to have a local way to `fsck_apfs` the above sparsebundles.
* When one irreparably breaks, delete it and replace it with a copy of a working one from another of the above targets.
For the "backups are incredibly slow" issue:
* One of the above targets is to an SSD.
* Use TheTimeMachineMechanic's "Speed" option after a backup to determine the slow spots. Look at patterns in "Current:" lines. Pumping the output to an LLM is very helpful here.