最後活躍 1760505205

Z 已修改 1760505204. 還原成這個修訂版本

1 file changed, 0 insertions, 0 deletions

zfs_release_holds 重命名為 zfs_release_holds.sh

檔案名稱與重新命名前相同

Z 已修改 1760505192. 還原成這個修訂版本

沒有任何變更

Z 已修改 1760505174. 還原成這個修訂版本

沒有任何變更

Z 已修改 1760505080. 還原成這個修訂版本

1 file changed, 28 insertions

zfs_release_holds(檔案已創建)

@@ -0,0 +1,28 @@
1 + # zfs.hold.release: $zfs_dataset $zfs_hold_name "mirror"
2 + # arc - archive
3 + # arc or mirror
4 + # How to check that all ZFS snapshots within a pool are without holds before destroying that pool - Server Fault - https://serverfault.com/questions/456301/how-to-check-that-all-zfs-snapshots-within-a-pool-are-without-holds-before-destr
5 + alias zfs.release="zfs.hold.release"
6 + zfs.hold.release(){
7 +
8 + zfs_dataset="${1:-""}"
9 + zfs_hold_name="${2:-"mirror"}"
10 + zfs_snapshot_userrefs="$(zfs get -Ht snapshot userrefs "$zfs_dataset" | grep -v $'\t'0 | cut -d $'\t' -f 1 )"
11 + zfs_snapshot_userref_count="$(zfs get -Ht snapshot userrefs "$zfs_dataset" | grep -v $'\t'0 | cut -d $'\t' -f 1 | wc -l )"
12 +
13 + echo zfs_snapshot_userref_count: $zfs_snapshot_userref_count
14 + if [[ -z "$zfs_snapshot_userref_count" ]] || [[ $zfs_snapshot_userref_count -lt 1 ]];then
15 + echo zfs_snapshot_userref_count must be greater than 0 else exit
16 + return 0
17 + fi
18 +
19 + snapshots=( $( echo "$zfs_snapshot_userrefs" | tr '\n' '\0' | xargs -0 zfs holds -H | grep "$zfs_hold_name" | awk '{ print $1 }' | tr '\n' ' ') )
20 +
21 + for snapshot in ${snapshots[@]}; do
22 + echo sudo zfs release $zfs_hold_name $snapshot
23 + sleep 1
24 + sudo zfs release $zfs_hold_name $snapshot
25 + done
26 +
27 + }
28 + # ---
上一頁 下一頁