22 lines
673 B
Django/Jinja
22 lines
673 B
Django/Jinja
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
STAGING_DIR="{{ staging_dir }}"
|
|
RESTIC_REPO="s3:{{ s3_endpoint }}/{{ s3_bucket }}/{{ host_id }}"
|
|
export RESTIC_PASSWORD="{{ password }}"
|
|
export AWS_ACCESS_KEY_ID="{{ s3_access_key_id }}"
|
|
export AWS_SECRET_ACCESS_KEY="{{ s3_secret_access_key }}"
|
|
|
|
echo "$(date -Iseconds) Running pre-backup scripts..."
|
|
if [ -d /etc/restic/pre-backup.d ]; then
|
|
for script in /etc/restic/pre-backup.d/*.sh; do
|
|
[ -x "$script" ] || continue
|
|
echo " Running $script"
|
|
"$script"
|
|
done
|
|
fi
|
|
|
|
echo "$(date -Iseconds) Creating restic snapshot..."
|
|
restic backup --repo "$RESTIC_REPO" "$STAGING_DIR"
|
|
|
|
echo "$(date -Iseconds) Backup complete."
|