If you decide to dive into it depending on your filesystem of choice I can recommend either Sanoid [0] and httm [1] for ZFS or Snapper [2] for BTRFS as automatic snapshot solutions. Good luck with your endeavors!
[0] https://github.com/jimsalterjrs/sanoid