new script: hedge-backup

This commit is contained in:
Alexander Gehrke 2022-11-08 17:25:15 +01:00
parent 9633d2b8e1
commit ef0ddc9681

39
misc/hedge-backup Executable file
View file

@ -0,0 +1,39 @@
#!/bin/zsh
#dep:curl
setopt extendedglob
source ${$(realpath "$0"):h:h}/lib/common.zsh
CONF_BASE=${XDG_CONFIG_HOME:-$HOME/.config}/hedge-backup/
source $CONF_BASE/config.sh
BACKUP_BASE=${BACKUP_BASE:-${XDG_DATA_HOME:-$HOME/.local/share}/hedge-backup}
mkdir -p $BACKUP_BASE
if [[ -z $1 ]]; then
echo "Usage: $0 HEDGEDOC-DOMAIN..."
exit 1
fi
if [[ $1 == '-a' ]]; then
domains=($CONF_BASE/*~*/config.sh(N.:t))
else
domains=($@)
fi
echo "Backing up: $domains"
BACKUP_DATE=$(date --iso-8601=seconds)
for domain in $domains; do
if [[ ! -e $CONF_BASE/$domain ]]; then
echo "\e[1;93mWarning: no configuration for $domain. Skipping"
continue
fi
mkdir -p $BACKUP_BASE/$domain
for doc in $(<$CONF_BASE/$domain); do
check "Backing up $domain/$doc..."
curl --silent https://$domain/$doc/download > $BACKUP_BASE/$domain/${doc}-${BACKUP_DATE} \
&& succeed || fail
done
done