Use this guide to understand how to delete from our CLI snapshots present on a server..
This could be a workaround in situations when GUI is not available as the storage limit occupation was reached, or when a general cleaning is required
Deleting snapshots
There're different ways to delete a snapshot from CLI depending on your necessities.
Here are some alternatives we provide for most common scenarios
When no date criteria is relevant
When no date criteria are relevant you can delete several snapshots, that will be canceled whit out a specific order criteria of data or size.
If the interest is to filter by schedules the snapshots to be deleted.
There's a possibility to delete a number of snapshots considering only the type of schedule
For example: deleting 100 snapshots from the daily schedule of a specific datastore, or just all the snapshot related to that schedule.
Delete a number of snapshots
Step 1: Verify how many snapshots are present on the system
zfs list -r -t snapshot | wc -l
Step 2: Delete a number of snapshots without specific criteria
zfs list -r -t snapshot | awk '{ print $1 }' | head -n 1000 | xargs -L1 zfs destroy
In the example above the number is 1000, feel free to modify this as required on your system
Delete snapshots with schedule criteria
To find the datastore path, use: zfs list
Scenario 1: Delete all snapshots for a specific protection schedule
zfs list -r -t snapshot <datastore> | grep weekly | awk '{ print $1 }' | xargs -L1 zfs destroy
In this example the schedule is "weekly", feel free to modify the input with the schedule of your interest
Scenario 2: Delete a number of snapshots for a specific protection schedule
zfs list -r -t snapshot <datastore> | grep weekly | awk '{ print $1 }' | head -n 100 | xargs -L1 zfs destroy
When the date is relevant
in case you're looking to delete a specific amount of snapshots, or a single snapshot, based on the date of creation, follow the bellow steps :
Delete a single snapshot
To find the datastore path, use: zfs list
Step 1: List the datastore snapshots
zfs list -r -t snapshot flash/datastores/vm
In the above example "vm" is the datastore name
Step 2: Delete the single snapshot of your interest
zfs destroy flash/datastores/vm@auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:48
Remember to be logged as sudoer, otherwise you will get permission error
Delete a selected group of snapshots
Step 1: List the datastore snapshots
zfs list -r -t snapshot flash/datastores/vm
Step 2: Identify the slot of snapshots you're interested to delete, and define which is the first and the last of it
In the above you will see an example of the slot of our interest in red and the first and last snapshot in yellow.
Meaning, we are looking to delete all the protections for the datastore "VM", between 17:48 and 17:55 of the 10/03/2021
Step 3: Delete
- To delete gather the entire path of the snapshot you defined as first and collect the path information on the last one from the "@".
With this information proceed as follows: zfs destroy flash/datastores/vm@auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:48%auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:55
In case of errors please contact our Support Team How to open a ticket with our Costumer Support Team How to get in touch with Syneto Customer Support