diff --git a/libvirt-zsh-backup.sh b/libvirt-zsh-backup.sh index efd58a2..9dcbd36 100644 --- a/libvirt-zsh-backup.sh +++ b/libvirt-zsh-backup.sh @@ -73,7 +73,15 @@ done virsh snapshot-delete $VM $SNAPNAME --metadata -zfs send "$SRCZFS"@"$SNAPNAME" | pv -L 500M | ssh $DESTHOST sudo zfs recv -F $DESTZFS +SUCCESS=$(zfs get backup:success -H -o value $SRCZFS) +if [[ $SUCCESS == "true" ]] +then + LASTBACKUP=$(zfs get backup:date -H -o value $SRCZFS) + LASTSNAP="backup_$LASTBACKUP" + zfs send -i "$SRCZFS"@"$LASTSNAP" "$SRCZFS"@"$SNAPNAME" | pv -L 500M | ssh $DESTHOST sudo zfs recv -F $DESTZFS +else + zfs send "$SRCZFS"@"$SNAPNAME" | pv -L 500M | ssh $DESTHOST sudo zfs recv -F $DESTZFS +fi if [ $? -eq 0 ] then zfs set backup:success="true" $SRCZFS