Datensicherung und Deployment mit btsync

Ich setze seit einiger Zeit das aus dem BitTorrent-Umfeld entstandene Programm btsync ein, um Dateien zwischen Bürorechnern und Laptops zu synchronisieren. Das Programm ist auch sehr hilfreich bei der Sicherung von Daten meiner Webprojekte und zum Befüllen von Testumgebungen.

Bei meinen Projekten ist in der Regel der Programmcode in einem git-Repository versioniert. Ich kann so meine unterschiedlichen Serverinstanzen (Development, Staging, Live) einfach in identischen Zuständen ausrollen. Sobald eine Website in Betrieb ist und redaktionell gepflegt wird, unterscheiden sich jedoch unweigerlich der Inhalt der Datenbanken und Uploadverzeichnisse der Systeme.

Ich verwende btsync, um eine readonly-Version der relevanten Verzeichnisse des Liveservers auf meine Entwicklungsserver zu spiegeln. Hier eine Beispielkonfiguration für ein WordPress-Upload-Verzeichnis auf einem Ubuntu-System mit btsync 1.4.75:

/etc/btsync/www-deploy.conf

// DAEMON_UID=www-deploy
// DAEMON_GID=www-data
{
    "device_name" : "www-deploy@SERVERNAME",
    "listening_port" : 0,
    "storage_path" : "/home/www-deploy/.btsync",
    "check_for_updates" : false,
    "use_upnp" : false,
    "download_limit" : 0,
    "upload_limit" : 0,
    "webui" :
    {
    },
    "shared_folders" :
    [
        {
        "secret" : "BTSYNC_KEY",
        "dir" : "/srv/www/SITENAME/site/webroot-wordpress \
/wp-content/uploads/",
        "use_relay_server" : true,
        "use_dht" : false,
        "search_lan" : true,
        "use_sync_trash" : true
        }
    ]
}
  • DAEMON_UID/DAEMON_GID: Diese Werte geben an, welchem Benutzer und welcher Benutzergruppe die Dateien im Quellverzeichnis gehören sollen.
  • webui: Lassen Sie den Eintrag leer, um die Weboberfläche von btsync zu deaktivieren.
  • secret: Hier wird der Schlüssel im Klartext eingetragen, mit dem der Ordner auf anderen Systemen eingebunden werden kann.
  • dir: Hier geben Sie den Ordner an, der synchronisiert werden soll. Falls der Ordner nicht existiert, wird er beim Start von btsync angelegt. (Ich hatte einmal einen Schreibfehler im Ordnernamen und habe mich gewundert, warum auf den Zielservern keine Dateien ankamen.)

Sie können den BTSYNC_KEY mit folgendem Kommando erzeugen:

/usr/lib/btsync/btsync-daemon --generate-secret

In unserem Fall wollen wir nur lesenden Zugriff auf den Ordner erlauben und benötigen dazu auf den Zielservern einen sogenannten Read-only Key. Diesen erzeugen wir uns mit folgendem Kommando:

/usr/lib/btsync/btsync-daemon --get-ro-secret BTSYNC_KEY

Achtung: Der Zielordner muß leer sein, da btsync (zumindest in Version 1.4.75) ansonsten den manuell erzeugten Read-Only Key nicht akzeptiert.

Kommentieren Sie den Beitrag

Bitte geben Sie Ihren Namen und Ihre Email-Adresse an. Der Name wird auf der Website veröffentlicht, die Email-Adresse nicht. Wir verwenden diese intern, um Spam zu identifizieren.

Captcha wird geladen...