Nowadays, when LVM2 is common and is actually the default in installation of RedHat based distributions, using its snapshot capabilities can save lots of grief when files are deleted or when you need to revert to a day in the past – both for your files and for your MySQL DB.
I have created a script which is based on the following assumptions:
1. Inside /etc/samba/smb.conf there is a directive such as: include /etc/samba/smb.conf
2. There is a single LV containing all the system’s data. It doesn’t occupy all the physical disk (or, for the matter, the entire VG space). Free space is 10-20% of disk size
3. Specific share directives are located inside /etc/samba/smb.conf.snapshot.full. An empty file /etc/samba/smb.conf.snapshot.empty exists.
4. I do not trust all places to hold a password for their MySQL (although it is advised!). This script assumes such password doesn’t always exist
5. The script mounts the snapshot read-only just after creating an empty file with the date of the snapshot inside its root.
The script is attached here. take-snapshot.txt