vern-scripts/tilserv/dobackup

20 lines
551 B
Bash
Executable File

#!/usr/bin/env -S bash -x
backupscript() {
targetpool="bighdd/backup"
incbackup="nvme/${1}@inc"
newsnap="${1}@$(date +%Y%m%d)"
latestsnap=$(zfs list -r -t snapshot -H -o name bighdd/backup/${1} | grep ${1}@ | tail -n1)
if [ "bighdd/backup/$newsnap" != "$latestsnap" ]; then
set -x
zfs snapshot -r nvme/$newsnap
zfs send -cpI $incbackup nvme/$newsnap |
zfs recv -u ${targetpool}/${1}
zfs destroy nvme/$newsnap
set +x
else
echo "Backup ($targetpool) already contains snapshot of $1"
fi
}
for i in ${@}; do backupscript ${i}; done