#!/bin/bash set -euo pipefail echo "Starting to export backups..." {% if backup_backend == 'restic' %} # restic backend source /etc/backup-client/restic.env {% for i in backups.export.destinations if i.type == "rsync" %} echo "exporting to {{ i.host }}" rsync -h -r -a --append-verify --delete --stats -e "ssh -p {{ i.port|d(22) }} -i {{ i.key|d('/etc/backup-client/id_ed25519') }}" "${RESTIC_REPOSITORY}/" "{{ i.user }}@{{ i.host }}:{{ i.remotepath }}" {% endfor %} {% endif %} {% if not backup_backend %} echo "Noop, backup is handled external" {% endif %} echo "done!"