Es gibt ein Plugin, mit dem Sie Ihre Discourse-Backups mit verschiedenen Cloud-Speicheranbietern synchronisieren können. Leider funktioniert es derzeit nicht mit Dropbox und Google Drive. Wenn Sie Ihr Backup dennoch in Ihrem Dropbox- oder Google Drive-Speicher ablegen möchten, befolgen Sie die unten stehenden Schritte. Ich verwende Dropbox als Beispiel, aber die Anweisungen funktionieren auch mit jedem anderen von rclone unterstützten Backend.
Haftungsausschluss: Die Anweisungen wurden unter Ubuntu 16.04 getestet und funktionieren bei mir. Ich bin jedoch kein Experte auf diesem Gebiet, sodass es möglicherweise bessere Methoden gibt. Korrigieren Sie mich gerne, und ich aktualisiere diesen Beitrag entsprechend.
rclone installieren
sudo curl https://rclone.org/install.sh | sudo bash
Falls der obige Befehl fehlschlägt, werden Sie möglicherweise aufgefordert, ein Entpack-Tool zu installieren:
sudo apt-get install unzip
Zugriff auf Dropbox gewähren
Dies ist der komplizierteste Teil, da Sie einen Browser benötigen, um rclone Zugriff auf Ihr Dropbox-Konto zu gewähren. Das ist, gelinde gesagt, nicht einfach, wenn Sie per SSH auf einen VPS zugreifen. Daher müssen Sie in zwei Schritten vorgehen:
Führen Sie auf Ihrem Server Folgendes aus:
sudo rclone config
und befolgen Sie die Anweisungen. Irgendwann werden Sie gefragt:
Use auto config?
Antworten Sie mit N.
Nun müssen Sie auf Ihren Desktop-Computer wechseln, um das Authentifizierungstoken zu erhalten. Das bedeutet, dass Sie rclone auch auf Ihrem Desktop-Computer installieren müssen (rclone für Windows finden Sie hier: Rclone downloads) und die Anweisungen unter Remote Setup befolgen müssen.
Sobald Sie Ihr Token erhalten und in die SSH-Eingabeaufforderung eingefügt haben, die darauf wartet, können Sie überprüfen, ob alles wie beabsichtigt funktioniert hat, indem Sie eine Liste aller Verzeichnisse in Ihrem Dropbox-Konto abrufen:
rclone lsd drobo:
wobei drobo der Name ist, den Sie Ihrem Dropbox-Konto zuvor zugewiesen haben.
Ihre Backups nach Dropbox kopieren
Suchen Sie Ihre Backup-Dateien. Normalerweise finden Sie sie unter /var/discourse/shared/standalone/backups/default. Wenn Sie ein Setup mit zwei Containern verwenden, befinden sie sich wahrscheinlich unter /var/discourse/shared/web-only/backups/default.
Der Befehl zum Kopieren Ihrer Backups in das Backup-Verzeichnis in Ihrem Dropbox-Konto lautet:
sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups
Ein Cron-Job einrichten, um Ihre Backups nach Dropbox zu kopieren
Um die Backups täglich um 18:00 Uhr zu kopieren, fügen Sie Folgendes zu Ihrer Crontab hinzu:
crontab -e
und fügen Sie hinzu:
0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups
Sie können den Befehl bei Bedarf häufiger ausführen, da ohnehin nur neue Dateien kopiert werden.
Beachten Sie, dass die Option copy immer weitere Backups zu Ihrem Dropbox-Konto hinzufügt, selbst wenn die entsprechenden Dateien auf Ihrem Server gelöscht werden. Wenn Sie nur diejenigen Backups behalten möchten, die auch auf Ihrem Server vorhanden sind, verwenden Sie stattdessen sync anstelle von copy.