On Macbooks there is the backup of changed files with the function “Timemachine”. With this function all changed or new files are backed up e.g. every hour to an external drive.
This backup is also available for Windows, where you can either backup a system image or files. On my MacBook, I used to connect an external hard drive via USB from time to time, and do a Timemachine backup there. But with this you lose an important aspect, because the automatic backup every hour is easy and above all convenient.
So either you have a backup drive connected all the time or you backup to a NAS. I did that for a while and backed up to a Samba share on my Openmediavault server. But since the OMV server is not running all the time, I did it using Proxmox.
On an LXC container I set up Samba, among other things, and specifically set aside a 250GB directory for the Timemachine backup. I don’t need more than that, since my MacBook Air only has 256GB SSD.
If you search for it on the Internet, you may come across pages that want to set it up complicated. to create a sparsebundle image with the Disk-Uitlity first. But it is also easier, if you follow the recommendations of the Samba Wiki and load the appropriate modules there and make the settings.
I have also listed here only in the global part of /etc/samba/smb.cnf the required modules and then the part of Samba Share with Time Machine = yes this activated.
First you have to connect to the Samba share.
After setting up the connection this works very well.
The first basic backup will transfer 100GB and more, depending on how full the MacBook is, but after that a backup is done quite fast. If Wifi 5 or higher is available, you can also run such backups over WLan without further ado. However, you should prefer the LAN connection wherever possible.
There is also a Docker image for Samba and Timemachine, but if you have a Samba server running anyway, this is not necessary. You can easily set up the required share. Just make sure that the Linux file permissions in the folder are set up so that the user can write to it. I stumbled over it once 🙁