summaryrefslogtreecommitdiff
path: root/backomp
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-10-07 15:48:37 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-10-07 15:48:37 -0700
commite518cc47b1aae229fd46998eb196b6033923555e (patch)
tree1df1a914ec21dedfee13ba1ffd453c8a70d807b7 /backomp
parente39fdea1257a3addca1c6c20860c82dfa98ad7cc (diff)
downloadbackomp-master.tar.gz
backomp-master.tar.xz
add alt-prune hook for rclone rm over sshHEADmaster
Diffstat (limited to 'backomp')
-rwxr-xr-xbackomp13
1 files changed, 13 insertions, 0 deletions
diff --git a/backomp b/backomp
index af44f77..8d90b8c 100755
--- a/backomp
+++ b/backomp
@@ -348,6 +348,18 @@ prune() {
else
if ((DRY)); then
echo "* DRY: prune ${__snaps[__i]}"
+ elif [[ -n "${opts['alt_prune']}" ]]; then
+ echo "* alt-prune ${__snaps[__i]}"
+ bash -c "$(declare -p opts \
+ ); target=$(printf '%q' \
+ "${__snaps[__i]}" \
+ ); ${opts['alt_prune']}" < /dev/null
+ res="$?"
+ if [[ "${res}" -ne 0 ]]; then
+ err 'alt-prune command failed' \
+ "(${res}):" \
+ "${opts['alt_prune']}"
+ fi
elif [[ "${__snaps[__i]}" == rclone://* ]]; then
run rclone purge -- "${__snaps[__i]#*//}"
elif [[ "${__snaps[__i]}" =~ ^([^:/]*):(.*) ]]; then
@@ -419,6 +431,7 @@ declare -A def_opts=(
['rclone_copy_command']='copy'
['rclone_use_copy_dest']=1
['pre_copy']=
+ ['alt_prune']=
)
declare -A opts tainted_opts
reset_opts() {