You're not running on BTRFS, are you? If yes, then you can manually create/restore snapshots.
Discussion
I've tried that many times. It takes the snapshot (or so it seems) always from zero, which takes a while. But it just won't save it anywhere.
Not sure, what you mean by "takes the snapshot from zero".
Do you have different subvolumes defined (and mounted) in your BTRFS filesystem for / and /home (plus maybe some more)?
Creating a ro snapshot of a subvolume should be instant. Only if you want to send/receive it somewhere else, should it take time (depending upon the amount of data to be transferred).
I meant that it doesn't simply take an existing snapshot and "updates" it, which is a relatively quick process. It does a full scan, like when you do it for the first time, which takes a very long time.
I think it's a permissions problem actually. Don't worry, I'll figure it out! Thanks
As I wrote, when you _create_ (take) a snapshot of your btrfs subvolume (which could be mounted to "/" for example) it's quite literally "instant". Only when you want copy/send this snapshot to another filesystem or disk it will take some time, even if you copy/send incrementally, so only the blocks changed since the reference snapshot.
Maybe you're not using a reference snapshot at all? In which case all data (not only the modified blocks) in the current snapshot would have to be transferred.
In any case, happy tinkering 👍
Are you using a third party utility to automate the snapshots?