Hallo liebe IT Bubble,
ich habe mir aus Interesse einen kleinen Rootserver gemietet und mit Hilfe des Ansible-Playbook einen Lemmyserver aufgespielt. Für die Förderation lasse ich einen Bot laufen, klappt erstaunlicherweise recht ordentlich. Soweit so gut.
Jetzt beschäftige ich mich mit einer vernünftigen Backupstrategie. Bisher lasse ich täglich eine Kopie des Lemmyserver auf einen Storagespace und auf meinen Homeserver erstellen, umgesetzt mit rsync über ssh. Zusätzlich versuche ich regelmäßig einen Snapshot des gesamten Server zu machen.
Meint ihr das geht so in Ordnung? Bin ja nur Hobbyadmin und hätte gerne ne zweite Meinung dazu.
Wenn ihr noch weiter Ratschläge oder Anmerkungen habt, ich bin offen für alles.
Gruß Ranslite
Nachtrag:
Es scheint jetzt alles zu funktionieren, so habe ich es gemacht.
Auf dem Lemmy Server selbst habe ich ein Bash Script für die Sicherung erstellt.
#!/bin/bash
cd /srv/lemmy/zonenranslite.de
docker compose exec postgres pg_dumpall -c -U lemmy | gzip > /mnt/storagespace/lemmyDB/zonenranslite_dump`date +%d-%m-%Y"_"%H_%M_%S`.sql.gz
rsync -avP /srv/lemmy/zonenranslite.de/volumes /mnt/storagespace/lemmyVolumes/
Es öffnet das Docker Verzeichnis, da sonst der docker compose Befehl nicht funktioniert.
Sichert die Datenbank und packt sie in den gemounteten Storagespace.
Danach werden mit rsync die restlichen Daten in den Storeagespace kopiert.
Das lasse ich als root cronjob um 01:00 laufen.
Um 03:00 startet auf meinen Homeserver dieses Bash Script als cronjob:
#!/bin/sh
# DB Backup
rsync -av --rsync-path="sudo rsync" XXX@zonenranslite.de:/mnt/storagespace/lemmyDB /mnt/hdd/sicherung
# Volumes folder Backup
rsync -av --rsync-path="sudo rsync" XXX@zonenranslite.de:/mnt/storagespace/lemmyVolumes /mnt/hdd/sicherung
Es kopiert mittels rsync und SSH die vorher auf dem Lemmy Server erstellten Backups auf den Homeserver.
Hier musste ich etwas tricksen, damit sudo rsync
funktioniert.
Auf dem Lemmy Server in /etc/sudoers
habe ich folgende Zeile hinzugefügt meinUser ALL=NOPASSWD:/usr/bin/rsync
, damit wird sudo rsync
ohne Password ausgeführt. meinUser
steht hier stellvertreten für meinen Usernamen.
SSH ist soweit abgesichert, dass weder root noch ein Passwort Login erlaubt ist. Lediglich über SSH-Keys kommt eine Verbindung zustande.
Ah, ok. Da muss ich wohl nochmal ran. Es läuft Postgres.
Edit:
Die Lemmy Dokumentation hat sogar einen extra Eintrag dazu. Link
Ah perfekt. Ja da kannst du sicherlich drauf aufsetzen, dann gibt es da ein erprobtes Verfahren 👍