Verwenden Sie rclone, um Backups mit Dropbox oder Google Drive zu synchronisieren

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.

16 „Gefällt mir“

Ratschläge für diejenigen, die ihre Backups häufig (z. B. täglich) über einen Cronjob mit Google Drive synchronisieren und nicht viel freien Speicherplatz auf ihrem Laufwerk haben: Ich empfehle, das Flag --drive-use-trash=false zu ihrem rclone-Befehl hinzuzufügen.

Beispiel:

rclone sync /var/discourse/shared/standalone/backups/default --drive-use-trash=false --exclude tmp/ discourse:

Mit diesem Flag löscht rclone veraltete Backups von Google Drive, anstatt sie in den Papierkorb zu verschieben, wo sie 30 Tage liegen, bevor sie automatisch gelöscht werden. Dies kann viel Speicherplatz auf dem Laufwerk sparen.

4 „Gefällt mir“