#!/bin/bash

export BORG_PASSPHRASE="{{repo_passphrase}}"
export BORG_RSH="ssh -i /srv/borgbackup/repo_sshkey"
export BACKUP_DATE=`date +%Y-%m-%d_%H_%M`
export LAST_BACKUPS_PROM="/var/lib/prometheus/node-exporter/lastbackup.prom"

# Ausführung der Backups
# anschließend Bereinigung 
# abschließend Integritätscheck 

echo "===[ Create Backup: {{ item.value.repo }} ]===" \
&& \
borg create $1 $2 $3 --info --show-rc --stats --exclude *lost+found --compression {{ item.value.compression }} {{ item.value.options }} {{ item.value.repo }}::$BACKUP_DATE \
{% for directory in borgbackup_directories %}
{{ directory }} \
{% endfor %} \
{% if item.value.directories is defined %}
  {% for directory in item.value.directories %}
  {{ directory }} \
  {% endfor %} \
  {% endif %}
&& \
echo "===[ Prune old Backups: {{ item.value.repo }} ]===" \
&& \
borg prune $1 $2 $3 --info --show-rc --list {{ item.value.prune }} {{ item.value.options }} {{ item.value.repo }} \
&& \
echo "===[ Check Repo: {{ item.value.repo }} ]===" \
&& \
borg check $1 $2 $3 --info --show-rc {{ item.value.options }} {{ item.value.repo }} \
&& \
echo "===[ write: /srv/rsyncbackup/{{ item.key }}/lastbackup ]===" \
&& \
date > "/srv/borgbackup/{{ item.key }}/lastbackup" \
&& \
echo "===[ add value to: $LAST_BACKUPS_PROM ]===" \
&& \
touch $LAST_BACKUPS_PROM \
&& \
sed -i '/borgbackup_lastbackup{repo="{{ item.key }}"}/d' $LAST_BACKUPS_PROM \
&& \
echo "borgbackup_lastbackup{repo=\"{{ item.key }}\"} $(date +%s)" >> $LAST_BACKUPS_PROM \
&& \
echo "===[ DONE ]==="