diff options
| author | diogo464 <[email protected]> | 2024-01-01 18:59:10 +0000 |
|---|---|---|
| committer | diogo464 <[email protected]> | 2024-01-01 18:59:10 +0000 |
| commit | 6ed294aceebf7515ed62785785fd9703f7e6af41 (patch) | |
| tree | 6c87e01fc7f38f03475b67df7d6f344be9e1830e /src | |
| parent | a73979c1c55a5474bc338f067b14830b68e02ae7 (diff) | |
added safe-guard against dataset destruction
Diffstat (limited to 'src')
| -rw-r--r-- | src/zfs.rs | 1 |
1 files changed, 1 insertions, 0 deletions
| @@ -34,6 +34,7 @@ pub fn snapshot_prune(tag: &str, dataset: &str, recursive: bool, keep: usize) -> | |||
| 34 | for snapshot in snapshots.into_iter().skip(keep) { | 34 | for snapshot in snapshots.into_iter().skip(keep) { |
| 35 | tracing::debug!(name = snapshot.name.as_str(), "destroying snapshot"); | 35 | tracing::debug!(name = snapshot.name.as_str(), "destroying snapshot"); |
| 36 | let rec = if recursive { "-r" } else { "" }; | 36 | let rec = if recursive { "-r" } else { "" }; |
| 37 | assert!(snapshot.name.contains('@')); // safe-guard to prevent accidental deletion of non-snapshots | ||
| 37 | let cmd = format!("zfs destroy {} {}", rec, snapshot.name); | 38 | let cmd = format!("zfs destroy {} {}", rec, snapshot.name); |
| 38 | let _output = run_shell_command(&cmd)?; | 39 | let _output = run_shell_command(&cmd)?; |
| 39 | } | 40 | } |
