bundles/zfs: no 'set -e' in backup-pre-hook
All checks were successful
bundlewrap/pipeline/head This commit looks good

This commit is contained in:
Franzi 2021-05-16 07:53:27 +02:00
parent 976aa251d1
commit 3e9c28b8ae
Signed by: kunsi
GPG key ID: 12E3D2136B818350

View file

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
set -euo pipefail errors=0
run-parts --exit-on-error -- /etc/zfs-snapshot-backup-pre.d run-parts --exit-on-error -- /etc/zfs-snapshot-backup-pre.d || errors=1
% for dataset in sorted(node.metadata.get('zfs/filesystems_with_backup_snapshots')): % for dataset in sorted(node.metadata.get('zfs/filesystems_with_backup_snapshots')):
@ -10,19 +10,27 @@ mountpoint="/mnt/backup-snapshot${node.metadata['zfs']['datasets'][dataset]['mou
if findmnt "$mountpoint" >/dev/null if findmnt "$mountpoint" >/dev/null
then then
umount "$mountpoint" umount "$mountpoint" || errors=1
fi fi
if zfs get type "${dataset}@snapshot-backup" >/dev/null 2>&1 if zfs get type "${dataset}@snapshot-backup" >/dev/null 2>&1
then then
zfs destroy "${dataset}@snapshot-backup" zfs destroy "${dataset}@snapshot-backup" || errors=1
fi fi
zfs snapshot "${dataset}@snapshot-backup" zfs snapshot "${dataset}@snapshot-backup" || errors=1
mkdir -p "$mountpoint" mkdir -p "$mountpoint" || errors=1
mount -t zfs "${dataset}@snapshot-backup" "$mountpoint" mount -t zfs "${dataset}@snapshot-backup" "$mountpoint" || errors=1
% endfor % endfor
run-parts --exit-on-error -- /etc/zfs-snapshot-backup-post.d run-parts --exit-on-error -- /etc/zfs-snapshot-backup-post.d || errors=1
if (( errors ))
then
# We can't use 'set -e' in here, because this could result in services
# not getting started, if they need to get stopped before creating a
# consistent backup snapshot.
exit 1
fi