fi
DISKNAME="$(basename "$DEVICE")"
CRYPTNAME="crypt-$DISKNAME"
+ if [ -L "/run/ext-backup-crypt/$CRYPTNAME" ]; then
+ continue
+ fi
echo "> cryptsetup luksOpen $DEVICE $CRYPTNAME"
cryptsetup luksOpen "$DEVICE" "$CRYPTNAME" --key-file "/etc/lukskeys/${DISKNAME}"
mkdir -p /run/ext-backup-crypt/
}
function pool_setup {
- zpool set failmode=continue "$ZPOOLNAME"
+ zpool set failmode=wait "$ZPOOLNAME"
zfs set mountpoint="/mnt/$ZPOOLNAME" "$ZPOOLNAME"
chmod 0700 "/mnt/$ZPOOLNAME"
zfs set compression=lz4 "$ZPOOLNAME"
echo "> zpool scrub $ZPOOLNAME"
zpool scrub "$ZPOOLNAME"
- while zpool status "$ZPOOLNAME" | grep -q "scrub in progress"; do
+ while zpool status "$ZPOOLNAME" | awk '/state: ONLINE|scan: scrub in progress/ {x++} END {exit x-2}'; do
echo -n .
sleep 60
done
| xargs -rn1 zfs destroy -v
}
+function snapshot_convert_to_bookmarks {
+ local fs
+ local snap
+
+ for fs in "$@"; do
+ for snap in $(zfs list -H -o name -t snapshot -r "$fs"); do
+ echo "> zfs bookmark $snap"
+ zfs bookmark "$snap" "${snap/@/#}"
+ zfs destroy "$snap"
+ done
+ done
+}
+
function main {
zfs get all -s local -H > /root/zfs-props.txt
cryptsetup_open