Automating taking and deleting of Snapshots
From Notes_Wiki
Home > Proxmox > Automating taking and deleting of Snapshots
We can automate taking and deleting of Snapshots using cv4pve-autosnap tool.
cv4pve-autosnap is a lightweight automation tool designed for Proxmox VE environments to create and manage LVM-Thin and ZFS volume snapshots. It helps administrators implement automated, scheduled snapshot backups of virtual machines (VMs) and containers (CTs), offering a simple but effective mechanism for data protection and rollback.
Installation
Install the tool on Proxmox VE
# wget https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.15.2/cv4pve-autosnap-linux-x64.zip
Install unzip package
# apt install unzip
unzip the package
# unzip cv4pve-autosnap-linux-x64.zip
give execute permission
# chmod +x cv4pve-autosnap
move it to sbin folder
# mv cv4pve-autosnap /usr/sbin/
To verify that the commands are working, we can run this command. It will display all available options.
# cv4pve-autosnap --help
VIRTUAL MACHINE
This command takes the backup of VM
# cv4pve-autosnap --host=172.30.7.100 --username=root@pam --password 'file:/root/password' --vmid=101 snap --label=daily --keep=2
Parameters used in the command
- snap: will take snapshot one time
- -- label: assigns a label or name to the snapshot (example: daily, monthly)
- --keep: Specifies the number of snapshots to retain for the given label.
- --vmid: id of the VM
The password is required the first time, and it can be either pasted or typed. It is then stored in the file.
- When the above command run successfully, it Confirms that the snapshot command ran without error and a snapshot was created for the VM.
- The snapshot is visible in the Proxmox web interface under the VM's "Snapshots" tab.
- We can create A second snapshot using the same command.
- The GUI now displays both the first and second snapshots for the VM.
- After taking a third snapshot, the oldest snapshot was automatically deleted as per the --keep=2 rule.
- Confirms the retention policy is working correctly: keeping only the two most recent snapshots.
Check the status
# cv4pve-autosnap --host=172.30.7.100 --username=root@pam --password 'file:/root/password' --vmid=101 status