Pleroma Remote-Backup

Script, um eine Pleroma-Instanz remote zu sichern.

Optional: den SSH-Schlüssel in der laufenden Session nur einmal eingeben, damit das Script nicht bei jedem SSH-Befehl nachfragt:

ssh-add

Die Pleroma-Configuration sichern. Darin sind die Schlüssel vorhanden, die die Pleroma-Instanz nach außen authentifiziert. Ebenso ist dort das Passwort für den Zugriff auf die Postgres-Datenbank eingetragen.

scp server:/etc/pleroma/config.* .

Postgres Datenbank remote sichern

Einmalig auf dem Pleroma-Server die Datenbank ohne Passwort zugriffsfähig machen: vi /root/.pgpass:

localhost:5432:pleroma:pleroma:passwort

Remote sichern der Datenbank:

ssh root@server "pg_dump -h localhost -U pleroma pleroma -C" > pleroma.dump

Fertiges Backup-Script

Hier nochmal alles als Script zusammengefasst und etwas verfeinert. Das Verzeichnis für die Backups kann natürlich angepasst werden:

#!/bin/bash

server="your_pleroma_server_name_here"

ssh-add
if [ "$?" -ne "0" ]
  then
    echo "Abgebrochen"
    exit 255
fi

heute=$(date +%Y-%m-%d)
backupdir=~/Backup/Pleroma/$heute

mkdir -p $backupdir
cd $backupdir

scp $server:/etc/pleroma/config.* .
ssh root@$server "pg_dump -h localhost -U pleroma pleroma -C" > pleroma.dump

cd ..
zip -r $heute.zip $heute
rm -rf $heute