snap-sync: new function run_finalize()

- new function run_finalize
- tagg already synced source snapshots (description and cleanup algorithem)
This commit is contained in:
2017-11-18 11:17:40 +01:00
parent fea12084f9
commit 0593b2cfb5

View File

@@ -580,6 +580,47 @@ run_backup () {
printf "dryrun: %s\n" "$cmd" printf "dryrun: %s\n" "$cmd"
fi fi
fi fi
done
}
run_finalize () {
# Actual backing up
printf "\nFinalize backups...\n" | tee $PIPE
i=-1
for selected_config in $selected_configs; do
i=$(($i+1))
SNAP_SYNC_EXCLUDE=no
if [ -f "/etc/snapper/configs/$selected_config" ]; then
. /etc/snapper/configs/$selected_config
else
die "Selected snapper configuration '$selected_config' does not exist."
fi
cont_backup=$(eval echo \$snapper_activate_$i)
if [ "$cont_backup" = "no" ] || [ "$SNAP_SYNC_EXCLUDE" = "yes" ]; then
notify_info "Finalize backup" "NOTE: Skipping '$selected_config' configuration."
continue
fi
notify_info "Finalize backup" "Cleanup tasks for configuration '$selected_config'."
printf "\n"
# retrieve config specific infos from pseudo Arrays
snapper_config=$(eval echo \$snapper_config_$i)
backup_root=$(eval echo \$backup_root_$i)
backup_dir=$(eval echo \$backup_dir_$i)
snapper_sync_id=$(eval echo \$snapper_sync_id_$i)
snapper_new_id=$(eval echo \$snapper_new_id_$i)
snapper_sync_snapshot=$(eval echo \$snapper_sync_snapshot_$i)
snapper_new_snapshot=$(eval echo \$snapper_new_snapshot_$i)
snapper_new_info=$(eval echo \$snapper_new_info_$i)
snapper_target_config=$(eval echo \$snapper_target_config_$i)
snapper_target_snapshot=$(eval echo \$snapper_target_snapshot_$i)
# It's important not to change the values of the key/value pairs ($userdata) # It's important not to change the values of the key/value pairs ($userdata)
# which is stored in snappers info.xml file of the source snapshot. # which is stored in snappers info.xml file of the source snapshot.
@@ -890,6 +931,9 @@ run_config
# run backups using btrfs-send -> btrfs-receive # run backups using btrfs-send -> btrfs-receive
run_backup run_backup
# finalize backup tasks
run_finalize
printf "\nDone!\n" | tee $PIPE printf "\nDone!\n" | tee $PIPE
exec 3>&- exec 3>&-