aboutsummaryrefslogtreecommitdiff
path: root/app/backup/build/backup-matrix/do_backup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'app/backup/build/backup-matrix/do_backup.sh')
-rwxr-xr-xapp/backup/build/backup-matrix/do_backup.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/backup/build/backup-matrix/do_backup.sh b/app/backup/build/backup-matrix/do_backup.sh
new file mode 100755
index 0000000..d7dd9f2
--- /dev/null
+++ b/app/backup/build/backup-matrix/do_backup.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -x -e
+
+cd /root
+
+chmod 0600 .ssh/id_ed25519
+
+cat > .ssh/config <<EOF
+Host backuphost
+ HostName $TARGET_SSH_HOST
+ Port $TARGET_SSH_PORT
+ User $TARGET_SSH_USER
+EOF
+
+echo "export sql"
+# note, -Fc means that postgresql compresses the output
+PGPASSWORD=$MATRIX_PSQL_PWD
+pg_dump -v -Fc -U $MATRIX_PSQL_USER -h psql-proxy.service.2.cluster.deuxfleurs.fr $MATRIX_PSQL_DB | \
+ age -r "$(cat /root/.ssh/id_ed25519.pub)" | \
+ ssh backuphost "cat > $TARGET_SSH_DIR/matrix/db-$(date --iso-8601=minute).gz.age"
+
+MATRIX_MEDIA="/mnt/glusterfs/chat/matrix/synapse/media"
+echo "export local_content"
+tar -vcf - ${MATRIX_MEDIA} | \
+ age -r "$(cat /root/.ssh/id_ed25519.pub)" | \
+ ssh backuphost "cat > $TARGET_SSH_DIR/matrix/media-$(date --iso-8601=minute).gz.age"