Snapper is a great tool for making snapshot on linux. You can download it on ArchLinux/Debian/OpenSUSE/Ubuntu
Personally I use btrfs as underlying file system. Here are some basic command to snapshot my data.
If your root file system is also a btrfs subvolume. That would be even better. You can snapshot your whole system!