matrix.grapheneos.org/remote-backup

18 lines
690 B
Bash
Executable File

#!/bin/bash
set -o errexit -o nounset -o pipefail
timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
rm -rf remote-backup
mkdir remote-backup
mkdir remote-backup/$timestamp
pg_dumpall -U postgres > remote-backup/$timestamp/all_databases.sql
cp -r /etc/matterbridge.toml remote-backup/$timestamp/matterbridge.toml
cp -r /etc/synapse remote-backup/$timestamp/synapse
cp -r /var/lib/mjolnir remote-backup/$timestamp/mjolnir
tar -cC remote-backup $timestamp | zstd -9 | age -r $(cat backup-public-key.txt) -o remote-backup/$timestamp.tar.zst.age
sshpass -f cloud-archive-password.txt rsync -v ./remote-backup/$timestamp.tar.zst.age pca@gateways.storage.gra.cloud.ovh.net:backup/
rm -rf remote-backup