Admins und Moderatoren: Fühlt euch frei, dieses Thema woanders hin zu verschieben oder bei Bedarf zu bearbeiten.
Dies sind erweiterte, schrittweise Anleitungen, wie ich rclone installiert und alles eingerichtet habe, um meine Discourse-Backups auf Dropbox zu sichern. Für Google Drive-Benutzer glaube ich, dass die meisten dieser Schritte ebenfalls zutreffen werden.
Ich habe einige der ursprünglich von Christoph (@tophee) hier bereitgestellten Anleitungen befolgt:
Da ich überhaupt kein Experte bin, schienen sie sehr begrenzt zu sein und ich würde letztendlich scheitern, also habe ich Hilfe von ChatGPT bekommen und alles funktioniert! Ich habe alles Schritt für Schritt dokumentiert, für diejenigen unter Ihnen, die wahrscheinlich keine fortgeschrittenen Benutzer wie ich sind und unterwegs etwas zusätzliche Hilfe benötigen.
rclone remote installieren und für Dropbox vorbereiten
SSH zu Ihrem Server:
ssh root@xxx.xxx.xxx.xxx
Wenn Sie auf Ihrem Server sind:
root@ServerNameHere:~#
rclone installieren:
sudo curl https://rclone.org/install.sh | sudo bash
Wenn erfolgreich, führen Sie aus:
sudo rclone config
Wenn es zeigt:
2025/08/13 11:29:31 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q>
… geben Sie n ein. Drücken Sie Enter.
Wenn Sie dazu aufgefordert werden:
Enter name for new remote.
name>
Geben Sie ihm einen Namen, zum Beispiel dropbox_backup. Drücken Sie Enter.
Es wird Ihnen eine Liste in Rot und Grün angezeigt (bei mir war es so), und eine dieser Optionen ist Dropbox. Jede Option hat eine zugeordnete Nummer. Meine war:
14 / Dropbox
\ (dropbox)
Geben Sie unten, wo Storage> steht, die Nummer für Dropbox ein. In meinem Fall wurde es also Storage>14. Drücken Sie Enter.
Es wird angezeigt:
Option client_id.
OAuth Client Id.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_id>
Drücken Sie einfach Enter, um es leer zu lassen. Tun Sie dasselbe, wenn es angezeigt wird:
Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret>
Wenn es angezeigt wird:
Edit advanced config?
y) Yes
n) No (default)
y/n>
Geben Sie n ein und drücken Sie Enter.
Wenn es angezeigt wird:
Use web browser to automatically authenticate rclone with remote?
* Say Y if the machine running rclone has a web browser you can use
* Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.
y) Yes (default)
n) No
y/n>
Geben Sie n ein und drücken Sie Enter.
Wenn es angezeigt wird:
Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token>
…
Stopp!
rclone lokal installieren und Dropbox autorisieren
Installieren Sie rclone auf Ihrem Computer. In meinem Fall habe ich ein neues Terminalfenster auf meinem Mac geöffnet, damit ich rclone installieren konnte, ohne den vorherigen Prozess zu stören, da ich nach Erhalt des Dropbox-Tokens fortfahren muss.
Ich habe zuerst überprüft, ob ich es auf meinem Mac installiert hatte, indem ich Folgendes ausgeführt habe:
rclone version
Ich hatte es nicht, also musste ich es installieren. In meinem speziellen Fall verwende ich MacPorts, da Homebrew unter Catalina nicht gut funktioniert; wählen Sie Ihre bevorzugte Option.
Homebrew-Befehl:
brew install rclone
MacPorts-Befehl:
sudo port install rclone
Sobald es installiert ist, führen Sie in demselben Fenster Folgendes aus:
rclone authorize "dropbox"
Dieser Name dropbox hat NICHTS mit dem Namen dropbox_backup zu tun, den wir zuvor gewählt haben.
Sobald Sie dies ausgeführt haben, öffnet sich der Browser mit dem Autorisierungsfenster.
Wenn nicht, fügen Sie diese URL in Ihren Browser ein: http://127.0.0.1:53682/auth (gemäß dieser Anleitung).
Melden Sie sich bei Dropbox an. Klicken Sie auf die Schaltfläche Allow. Wenn alles gut geht, erhalten Sie die Meldung:
Success!
All done. Please go back to rclone.
Schließen Sie dieses Fenster.
Dropbox-Einrichtung abschließen
Gehen Sie zurück zum Terminal, und es wird ein langer Token angezeigt (er wird super lang sein, ich habe ihn hier nur verkürzt):
{"access_token":"sl.u.AF5VJTs.................ZvNhniOToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}
Kopieren Sie alles vom öffnenden { bis zum schließenden }, einschließlich der geschweiften Klammern selbst, und fügen Sie es in das andere Fenster ein:
Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
rclone authorize "dropbox"
Then paste the result.
Enter a value.
config_token> PASTE_TOKEN_HERE
Drücken Sie Enter.
Wenn alles erfolgreich ist, sehen Sie etwas wie:
Configuration complete.
Options:
- type: dropbox
- token: {"access_token":"sl.u.AF5VJTs7..........ToyQG","token_type":"bearer","refresh_token":"jygyhExsHRgAAAAAAAAAAfeHd8D0l5jzLvuiZ1onH2nXP2YeC2ycrbm5eQ5Y3uc6","expiry":"2025-08-13T16:58:41.072138+01:00","expires_in":14400}
Keep this "dropbox_backup" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>
Wählen Sie y, um es zu behalten. Dies speichert das Remote als dropbox_backup auf Ihrem Server, und Sie können es für rclone-Befehle verwenden. Drücken Sie Enter.
Es wird angezeigt:
Current remotes:
Name Type
==== ====
dropbox_backup dropbox
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>
Geben Sie q ein, um die Konfiguration zu beenden. Ihr dropbox_backup-Remote ist nun einsatzbereit. Drücken Sie Enter.
Während Sie sich noch in root@ befinden, führen Sie rclone lsd dropbox_backup: aus.
Dies listet alle Verzeichnisse auf der obersten Ebene in Ihrer Dropbox auf, um die Verbindung zu bestätigen.
Backups
Manuell
Um manuell ein Backup zu erstellen, vorausgesetzt, Sie haben eine typische Einrichtung (keine Zwei-Container-Einrichtung), führen Sie Folgendes aus:
sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ dropbox_backup:backups
/var/discourse/shared/standalone/backups/default→ Quellordner auf Ihrem Server (ich bestätige, dass dieser Pfad bei einer typischen Einrichtung – nicht bei einer Zwei-Container-Einrichtung – zumindest Stand August 2025 korrekt ist).--exclude tmp/→ überspringt temporäre Dateien.dropbox_backup:backups→ Remote-Name (dropbox_backup) und Ordner in Dropbox (backups).
Dies lädt alle Backup-Dateien (außer tmp/) auf Ihre Dropbox hoch, in einen Ordner namens backups, unter Verwendung des Namens, den wir zuvor gewählt haben: dropbox_backup.
Wenn Sie einen Ordner mit Leerzeichen wünschen, z. B. Discourse Backups, führen Sie stattdessen Folgendes aus:
sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"
Wenn alles wie geplant verläuft, sehen Sie nun einen Ordner Discourse Backups (oder wie auch immer Sie ihn genannt haben) in Ihrer Dropbox mit all Ihren Backup-Dateien.
Da Sie bis hierher gekommen sind, schließen Sie das zweite Terminalfenster, das zur Installation von rclone auf Ihrem Computer verwendet wurde, um Verwechslungen in Zukunft zu vermeiden.
Cron-Job
Lassen Sie uns nun einen Cron-Job erstellen, um diesen Prozess zu automatisieren:
crontab -e
Sie werden aufgefordert:
no crontab for root - using an empty one
Select an editor. To change later, run select-editor again.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]:
Wählen Sie 1. Drücken Sie Enter.
Sie sehen etwas wie:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
Fügen Sie am Ende all dessen den Cron-Job hinzu. Um die Backups jeden Tag um 18 Uhr zu kopieren, fügen Sie Folgendes hinzu:
0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"
Ihre “Liste” endet also mit:
(INITIAL TEXT HERE)
# m h dom mon dow command
0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ "dropbox_backup:Discourse Backups"
Drücken Sie Ctrl+X. Am unteren Rand des Fensters werden Sie gefragt, ob Sie speichern möchten. Drücken Sie Y und dann Enter.
Sie sind fertig!
Sie können den Cron-Job häufiger ausführen, wenn Sie möchten, da ohnehin nur neue Dateien kopiert werden.
Beachten Sie, dass die Option copy immer mehr Backups zu Ihrer Dropbox hinzufügt, auch wenn die auf Ihrem Server gelöschten werden. Wenn Sie nur die behalten möchten, die auch auf Ihrem Server aufbewahrt werden, verwenden Sie sync anstelle von copy.