#!/bin/bash BORGUSER="{{ backup_owner }}"; RUNFOLDER="{{ backup_storage }}"; APPLIST="{{ backup_clients | json_query('*.app') | join(' ') }}" declare -A BORG_CLIENT_MAP {% for client in backup_clients %} BORG_CLIENT_MAP[{{ backup_clients[client].app }}]="{{ client }}" {% endfor %} declare -A BORG_USER_MAP {% for client in backup_clients %} BORG_USER_MAP[{{ backup_clients[client].app }}]="{{ backup_clients[client].owner }}" {% endfor %} for APP in $APPLIST; do REPOSITORYCLIENT=${BORG_CLIENT_MAP[$APP]} BORG_REPO_USER=${BORG_USER_MAP[$APP]} REPOLOCATION="ssh://$BORG_REPO_USER@{{ backup_host }}:{{ backup_ssh_port }}/./$APP" BORG_PASSPHRASE=$(cat {{ backup_key_folder }}/$APP) KEYFILE="{{ backup_home }}/.ssh/$REPOSITORYCLIENT" sudo -H -u $BORGUSER bash -c ' export BORG_PASSPHRASE='$BORG_PASSPHRASE'; KEYFILE='$KEYFILE'; REPOLOCATION='$REPOLOCATION'; borg list $REPOLOCATION --rsh "/usr/bin/ssh -i $KEYFILE"' done