diff --git a/helper/update_hooks.sh b/helper/update_hooks.sh new file mode 100755 index 0000000000000000000000000000000000000000..aac998c3905054f858fa8064cbc006b26ea95676 --- /dev/null +++ b/helper/update_hooks.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# =============================================================== +# +# HELPER: move existing hooks to new hook structure +# +# --------------------------------------------------------------- +# 2022-11-04 axel.hahm@iml.unibe.ch +# =============================================================== + +cd "$( dirname $0 )/../hooks" + + +# --------------------------------------------------------------- +# CONFIG +# --------------------------------------------------------------- + +typeset -i iFound=0 +declare -a aOldHooks=( + 10-before-backup + 12-before-db-service + 14-before-db-dump + 16-after-db-dump + 18-after-db-service + 20-before-transfer + 22-before-folder-transfer + 24-after-folder-transfer + 26-after-prune + 28-after-verify + 30-post-backup +) + +declare -a aNewHooks=( + 100-before-backup + 200-before-db-service + 210-before-db-dump + 220-after-db-dump + 230-after-db-service + 300-before-transfer + 310-before-folder-transfer + 320-after-folder-transfer + 330-after-prune + 340-after-verify + 400-post-backup +) + +# --------------------------------------------------------------- +# MAIN +# --------------------------------------------------------------- + +echo +echo ===== HELPER: move existing hooks to new hook structure ===== +echo + +for i in ${!aOldHooks[@]} +do + hookfrom=${aOldHooks[$i]} + hookto=${aNewHooks[$i]} + + if [ -d "$hookto" ]; then + if [ -d "$hookfrom" ]; then + echo " SCAN for $hookfrom ... " + for myfile in $( find $hookfrom -type f | grep -v ".gitignore" ) + do + tofile=$( echo $myfile | sed "s#$hookfrom#$hookto#" ) + echo -n " MOVE $myfile -> $tofile ... " + mv "$myfile" "$tofile" && echo "OK" || echo "FAILED" + iFound+=1 + done + find $hookfrom -type f | grep -v ".gitignore" && echo " WARNING: some files are still in [$hookfrom] " || ( + echo -n " no more files ... REMOVE [$hookfrom] ... " + rm -rf "$hookfrom" && echo "OK" || echo "FAILED" + ) + echo + else + echo "SKIP $hookto - nothing to do." + fi + else + echo "ERROR: hook dir $hookto does not exist" + fi +done + +echo "----------------------------------------------------------------------" +echo "moved files: $iFound" + +# ---------------------------------------------------------------