@cruunnerr I just noticed the question is not MM specific.
I have two Raspberries in production @home and I use raspiBackup which was mentioned already above by yawns to create backups every weekend - triggered by a crontask. I use rsync together with nfs and hardlinks to backup the whole systems and keep 12 backups (3 months). Hardlinks minimze the backup space used and reduce the backup time significantly because only new and changed data will be saved in every new backup. All constant data including the constant OS files will be saved only once and linked to in all backups created later on. To restore the backup I use my Linux box but you also can use your Raspberry running Raspbian if you don’t have a Linux box handy.
If you want to restore the backup from your Windows box you can create a dd backup with raspiBackup whi ch can be restored with win32diskimager. But then you don’t benefit from the nice rsync feature to use hardlinks and every backup run will save the whole SD card all the time and the backup will take much longer and you need more backup space.
I also should mention that you need an ext3 or ext4 filesystem on your backup space if you want to use hardlinks. You also can use a network drive connected via samba but then there is no hardlink support. But you can then create a tar backup which in general will be smaller than a dd backup.