
Heute bin ich endlich dazugekommen meinen Debian-Server mit der Dropbox für Online-Backups zu verbinden. Für alle die die Dropbox nicht kennen, hier ein kleines Werbevideo. Mit einem TextbasedLinux ohne Gui ist hier aber sehr viel Handarbeit nötig.
Meine Anleitung basiert hauptsächlich auf diesem Wiki-Post. Da dieser auf Englisch verfasst ist und dazu noch sehr umfangreich, habe ich mich für eine eigene, gekürzte Version entschieden.
Folgende Pakete werden benötigt:
- mindestens Version 2.4 der C Library
- wget
- gcc C compiler
- C library development
- Python 2.5
- Web Browser
Installationsvorgang
- wenn noch nicht geschehen, einen Dropbox-Account anlegen (über diesen Link bekommt Ihr 250MB mehr Speicher zugewiesen!)
- am Linux System anmelden und ins Homeverzeichnis wechseln
- Download Dropbox in der aktuellsten Version (32-bit bzw. 64-bit)
# Befehl für 32-bit Version wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86 # Befehl für 64-bit Version wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64
- Dropbox Archiv im Homeverzeichnis entpacken
tar -xzvf dropbox.tar.gz
- zwei zusätzliche Python scripts herunterladen
wget http://dl.dropbox.com/u/6995/dbmakefakelib.py wget http://dl.dropbox.com/u/6995/dbreadconfig.py
- Skript
dbmakefakelib.py
ausführenpython dbmakefakelib.py
- Skript
dbreadconfig.py
ausführen und host_id kopierenpython dbreadconfig.py host_id = c8123a52f39ca2dca9a69dcb71595123
- Nun auf einem anderen PC mit Webbrowser den Server mit dem Account verbinden. Dazu diese URL verwenden:
https://www.dropbox.com/cli_link?host_id=
nach dem „=“ die host_id angeben. - wenn nicht bereits automatisch geschehen, das Dropbox Verzeichnis anlegen
mkdir ~/Dropbox
- die offizielle Dropbox CLI herunterladen und ausführbar machen
cd ~/.dropbox/bin wget http://www.dropbox.com/download?dl=packages/dropbox.py chmod +x dropbox.py
- mit der Dropbox CLI kann man später den Daemon starten, stoppen und den Status ansehen
./dropbox.py help
- die zu synchronisierenden Verzeichnisse per Link in das Dropbox Verzeichnis einbinden
cd ~/Dropbox ln -s /Pfad/zu/Verzeichnis NameinDropbox ln -s /daten/files meinefiles
- Startscript einbinden
Beispielscript für Debian: Neue Datei unter/etc/init.d
mit folgendem Inhalt anlegen (als root).#!/bin/sh ### BEGIN INIT INFO # Provides: dropbox # Required-Start: $local_fs $remote_fs $network $syslog $named # Required-Stop: $local_fs $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Interactive: false # Short-Description: dropbox service ### END INIT INFO #dropbox service DROPBOX_USERS="christian" DAEMON=.dropbox-dist/dropbox start() { echo "Starting dropbox..." for dbuser in $DROPBOX_USERS; do HOMEDIR=`getent passwd $dbuser | cut -d: -f6` if [ -x $HOMEDIR/$DAEMON ]; then HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON fi done } stop() { echo "Stopping dropbox..." for dbuser in $DROPBOX_USERS; do HOMEDIR=`getent passwd $dbuser | cut -d: -f6` if [ -x $HOMEDIR/$DAEMON ]; then start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON fi done } status() { for dbuser in $DROPBOX_USERS; do dbpid=`pgrep -u $dbuser dropbox` if [ -z $dbpid ] ; then echo "dropboxd for USER $dbuser: not running." else echo "dropboxd for USER $dbuser: running (pid $dbpid)" fi done } case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) stop start ;; status) status ;; *) echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}" exit 1 esac exit 0
- Das soeben angelegte Script ausführbar machen und in den Startprozess einbinden
chmod +x dropbox update-rc.d dropbox defaults
Alternative Variante am Beispiel Debian – 21.04.13
- Hinzufügen Dropbox Source -> https://www.dropbox.com/help/246/en
- Dropbox installieren per apt
apt-key adv --keyserver pgp.mit.edu --recv-keys 5044912E apt-get update apt-get install dropbox
- Dropbox mit gewünschten User installieren und wenn aufgefordert mit Account verbinden
su - username dropbox start -i cd .dropbox-dist ./dropboxd
- Zum automatischen Starten der Dropbox kann das oben genannte Startscript (siehe Punkte 13) verwendet werden.
Update 16.03.10
Ursprünglich habe ich alles unter dem User root durchgeführt, wodurch alle neuen Daten mit Owner root angelegt wurden. Ich habe die Dropbox jetzt auf einen anderen User umgestellt. Zusätzlich habe ich das Dropboxverzeichnis verschoben und anders verlinkt.
Um Probleme zu vermeiden sollten im Homelaufwerk immer Links für die Ordner Dropbox
, .dropbox
und .dropbox-dist
vorhanden sein.
Markus meint
Ich nutze Dropbox schon seit einiger Zeit um Dateien zwischen mehreren PC’s, Laptops und USB-Sticks zu synchronisieren und Backups anzulegen – wenn auch nur unter Windows. Absolut empfehlenswert.
Jetzt kommt der Hammer:
Mit Empfehlungen etc. kann jeder seit kurzem bis zu 10GB !!! kostenlos in seine DB packen.
Wer möchte, kann sich auch über meine Einladung bei Dropbox anmelden, und kann so 250MB zusätzlich holen.
#Link entfernt, da keine Fremdwerbung erwünscht.
Gruß Markus
Ver meint
Um die P2P broadcasts abzustellen muss man in .dropbox/dropbox.db in der tabelle config den wert für p2p_enabled auf STAwCi4= („I00.“ base64 encodiert) setzen.
Gruß
Ver
Norbert meint
Welche Schritte müssen durchgeführt werden, um auf einen anderen User als Root umzustellen?
Gruß
Norbert
Christian meint
Hallo Norbert,
leider ist das bei mir schon lange her. Vielleicht klappts ja trotzdem.
Du musst das Startscript anpassen und den Parameter
DROPBOX_USERS="username"
mitgeben.Außerdem müssen unter dem Homeverzeichnis des entsprechenden Users die nötigen Dropboxverzeichnisse sein. (siehe Screenshot am Beitragsende)
Schau mal ob das schon reicht.
Norbert Eckermann meint
Ich habe jetzt im Dropbox-Verzeichnis symbolische Links angelegt, um auf Verzeichnisse anderer User zu verweisen. Es funktioniert. Ich wollte nicht riskieren, dass mir wieder durch einen Verzeichniswechsel die ganze Dropbox gelöscht wird. Das hatte ich bereits und erst später gelesen, dass es dafür ein spezielles Skript gibt.
Dir vielen Dank!
Gruss Norbert
Stefan meint
Versuche gerade die Dropbox auf meiner Linux Maschine nach obiger Anleitung zum laufen zu bekommen.
Leider sind die o.g Links inzwischen veraltet und funktionieren zt. nicht mehr.
Ich benötige die Datei „dbmakefakelib.py“.
Kennt jemand noch eine Quelle, wo diese Datei heruntergeladen werden kann (oder hat sie noch zufällig auf dem Rechner)?
Die recherche über google war bisher leider erfolglos.
Wäre dafür sehr dankbar!
Grüße Stefan
…und danke an den Themenersteller!
Christian Feneberg meint
Hast du schon versucht die Installation wie hier beschrieben durchzuführen?
Es wird inzwischen die dbmakefakelib.py wohl gar nicht mehr benötigt.
Leider kann ich dir nicht weiterhelfen, da ich inzwischen ein NAS verwende und kein Linux mehr.
Stefan meint
Ja, auch diese Anleitung habe ich schon gefunden und probiert.
Allerdings lässt sich die „dropboxd“ nicht ausführen, wie in Schritt 6 beschrieben.
Fehlermeldung: „Cannot execute binary file“.
Ich weiß zwar nicht, was dbmakefakelib.py genau macht, hoffe aber das ich damit mein Problem lößen lässt.
Grüße Stefan