it-swarm.com.de

Wie kann ich meinen privaten Ordner über das Netzwerk und das Internet synchronisieren?

Ich benutze meinen Laptop mit Ubuntu-Desktop, um alle meine Arbeiten zu erledigen, aber ich habe auch einen Low-End-Desktop in meinem Büro, der nur dort sitzt. Ich habe beschlossen, Ubuntu-Server darauf zu installieren und damit meinen gesamten Laptop-Privatordner zu spiegeln, um die Formatierung der Festplatte meines Laptops zu vereinfachen.

Wenn ich auf der Arbeit bin, sind beide Maschinen mit einem Netzwerk verbunden und kommunizieren problemlos (und mit hoher Geschwindigkeit) über ssh. Wenn ich nicht bei der Arbeit bin, ist der Desktop immer noch über ssh erreichbar. Im Idealfall findet die Synchronisierung automatisch im Hintergrund statt, wenn ich etwas ändere. Es muss nur eine Möglichkeit geben: Die Änderungen, die ich am Laptop vornehme, müssen mit dem Server synchronisiert werden, aber die Umkehrung ist nicht erforderlich.

Ich weiß, dass es Software dafür gibt, und meine Frage lautet: Mit welcher Software kann ich die oben genannten Ziele erreichen und auch die Geschwindigkeit des lokalen Netzwerks bei der Arbeit voll ausnutzen? Da ich Wenn Sie manchmal mit großen Dateien arbeiten, muss der Synchronisierungsprozess erkennen, dass die beiden Computer ein lokales Netzwerk gemeinsam nutzen, und dies dann nutzen (anstatt immer über das Internet zu synchronisieren).

Um ganz klar zu sein, ist für mich die Synchronisierung über das Netzwerk wichtiger als die Synchronisierung über das Internet. Im Idealfall würde die Software prüfen, ob die erste verfügbar ist, und wenn nicht, versuchen Sie die zweite. aber wenn das nicht möglich ist, ist der erste Fall meine Priorität.

Hoffe das ist nicht zu lang. Danke im Voraus.

8
Malabarba

Wenn Sie nur über SSH eine Verbindung zu Ihrem Office-Server herstellen können, verwenden Sie am besten rsync : SSH kann als Transportprotokoll verwendet werden und verwendet einen intelligenten Algorithmus, um die Übertragung großer Dateien zu beschleunigen, indem Senden nur der geänderten Blöcke.

Da Sie nur eine einseitige Synchronisierung benötigen, richten Sie einfach die kennwortlose SSH-Authentifizierung von Ihrem Laptop zum Office-Server ein. Anschließend können Sie mit einem Befehl beginnen, der so einfach wie folgt ist:

rsync -e ssh -a $HOME/ [email protected]:

hinzufügen der Optionen --include und --exclude, um die Liste der zu synchronisierenden Dateien/Verzeichnisse zu verfeinern. Das Übertragen von Programmeinstellungen ("Punktdateien") kann beispielsweise riskant sein, wenn auf beiden Computern nicht dasselbe Betriebssystem (dieselbe Version) ausgeführt wird. Mein Vorschlag ist, zunächst alle "Punktedateien" auszuschließen (verwenden Sie also --exclude="$HOME/.[a-z]*") und dann selektiv die Konfigurationsverzeichnisse von Programmen hinzuzufügen, die sicher gemeinsam genutzt werden können (dies muss für jedes Programm einzeln angezeigt werden). Außerdem können der Webbrowser-Cache und $HOME/.cache immer ausgeschlossen werden. Ausführliche Informationen zur Syntax der Einschluss-/Ausschlussregeln finden Sie im Abschnitt "FILTERREGELN" in der Manpage rsync.

rsync verfügt jedoch nicht über einen "Continuous-Operations" -Modus, sodass Sie ihn regelmäßig von Ihrer crontab ausführen müssen.

11
Riccardo Murri

Ich würde vorschlagen, rdiff-backup über rsync zu verwenden. Es ist so ziemlich nur Rsync ++.

im Gegensatz zu rsync, das nur einen 1: 1-Spiegel überträgt, der Unterschiede überträgt, verfügt rsync über einen Verlaufsmechanismus. Wenn Sie also etwas Wichtiges vermasselt und gelöscht haben, können Sie auf eine Woche zurückgreifen und es zurückbekommen.

Auf dem Ubuntu-Server muss nur ssh ausgeführt werden, damit apt-get rdiff-backup installiert werden kann.

auf dem Client. Ich würde dies entweder manuell ausführen .. oder über eine Crontab.

#!/bin/bash

  #backup.sh

  rdiff-backup -v5 --exclude path-to-annoyingfile  /home/user/ hostname::/media/data/snapshots/laptop 
  ## this will cleanup any backups older then 2weeks.  Adjust this as needed.
  rdiff-backup --remove-older-than  2W --force  hostname::/media/data/snapshots/laptop


  #!/bin/bash
  ##Restore.
  rdiff-backup -v5 --restore-as-of now --force [email protected]::/media/data/snapshots/laptop  /home/user

Wenn Sie Ihren Port 22 für das Internet öffnen, sollten Sie in der Lage sein, dasselbe Skript auf beide Arten auszuführen. Lassen Sie einfach Ihren Hostnamen lokal in Ihre lokale IP-Adresse auflösen.

dh backupSrv.penguins.org würde in die externe IP von auflösen. 2.3.4.5 aber in deinem LAN: zu 192.168.1.253

3
csgeek

Es gibt keine vollständige, vorgefertigte Lösung für Ihr Problem, die ich kenne. Dazu müssen Sie wahrscheinlich selbst ein kleines Skript schreiben.

Die Synchronisierung selbst könnte durch rsync erfolgen, wie bereits von Riccardo Murri erläutert. Rsync überträgt nur die geänderten Teile von Dateien, ist also perfekt für diese Aufgabe.

Mit dem NetworkManagerDispatcher können Sie Skripte zum Verbinden/Trennen einer Netzwerkschnittstelle ausführen. Sie können also ein Skript schreiben, das überprüft, ob Sie sich im richtigen Netzwerk befinden, und dann rsync aufruft. Auf diese Weise werden Ihre Daten automatisch synchronisiert, wenn Sie eine Verbindung zu Ihrem Unternehmensnetzwerk herstellen.

Um Ihre Daten regelmäßig zu synchronisieren, können Sie, wie bereits erwähnt, cron verwenden.

Sie sollten auch die Sicherheit berücksichtigen, wenn Sie rsync über ssh verwenden. Um ohne Benutzereingriff zu synchronisieren, benötigen Sie eine kennwortlose Schlüsseldatei. Jeder, der über diese Schlüsseldatei verfügt, kann auf den Server zugreifen, zu dem sie gehört. Ich würde dringend empfehlen, Ihren privaten Ordner zu verschlüsseln, um die Daten auf dem Notebook und auf dem Server zu schützen.

2
Mad Scientist

Versuchen Sie Sparkleshare: http://sparkleshare.org/

Es gibt einen Client im Ubuntu-Repo und er enthält Anweisungen zum Einrichten eines Servers auf seiner Website.

1
user60876

DropBox | DropBox @ SuperUserhttp://www.dropbox.com/help/137

DropBox sollte in Ihrem Fall gut sein, funktioniert unter Linux, Mac, Windows, einfache Einrichtung und Verwaltung.

Download DropBox

https://superuser.com/questions/147315/dropbox-to-sync-nix-home-folder

http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders

Lesen Sie es durch - es unterstützt die Synchronisierung über Symlinks, und wenn bestimmte Dokumente, Grafiken und Tabellen synchronisiert werden müssen, können Sie eine Kopie davon in der Dropbox behalten oder sie dauerhaft in der Dropbox speichern, um Ärger zu vermeiden.

1
rihatum

Die beste Lösung für 2015 sollte Seafile sein: https://www.seafile.com/en/download/

Sparkleshare-Entwickler sagen, dass ihr Tool für viele kleine und vor allem Textdateien geeignet ist, für größere und binäre Dateien jedoch nicht.

Und in Bezug auf die Leistung übertrifft es sowohl Sparkleshare als auch Owncloud.

Außerdem ist OwnCloud weitaus weniger ressourcenhungrig als OwnCloud - so kann eine Instanz problemlos auf einem Bananen- oder Himbeer-Computer ausgeführt werden, der rund um die Uhr läuft. (Ich würde ein Banana Pi empfehlen, da es aufgrund des Gigabit-Netzwerks und der SATA-Schnittstelle zumindest für mich eine gute Wahl für einen Dateiserver war.)

Ich synchronisiere meine privaten Ordner mit drei Computern. Ich schließe Dotfiles aus, sie werden über ein Git-Repo und eine gewisse Logik behandelt, da - wie Ricardo erwähnte - es einige Probleme gibt, Dotfiles und andere Konfigurationen über verschiedene Computer zu teilen, selbst wenn es dasselbe Betriebssystem und dieselbe Version ist. Denken Sie beispielsweise an die Datei "screens.xml" oder an ein anderes Layout für ein IDE auf Ihrem Laptop und Ihrem Multiscreen-Desktop - oder an ein Programm, das auf beiden Computern geöffnet wurde.

Zusätzlich zur Synchronisierung sichere ich diese Daten - über borgbackup. Es ist ein sehr nettes neues Backup-Programm, das Deduplizierung leistet, nach dem ersten Backup sehr schnell ist und viele Funktionen hat, die vielen Tools fehlen.

Es ist das perfekte Setup für mich.

0
mpathy