• 28.08.2025, 23:34
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Gelöschter Benutzer

unregistriert

Dateisync 2x Linux-PC über FTP-Server realisieren

Mittwoch, 3. September 2008, 23:09

Moin Moin...

Brauche mal euren kreativen Input.

Ich habe derzeit ein Notebook mit Ubuntu 8.0.4, auf dem ich über ein Script mit Hilfe von "ftpsync" Dateien auf einem FTP-Server synchronisiere. Sozusagen ein externes Web-Backup. Klappt super, soweit so gut.

ftpsync erkennt, ob sich lokal Dateien geändert haben hinzugefügt oder gelöscht wurden, und führt dann diese Änderungen auch auf dem FTP-Server durch.

Jetzt kommt aber ein zweiter PC ins Spiel, ebenfalls Ubuntu, der nun als zweiter Sync-Punkt dienen soll. Das Problem ist nun, wenn ich auf PC2 einen Ordner/Dateien anlege oder lösche, dann macht PC1 logischer weise die Änderungen rückgängig, da derzeit noch ein "forced local nach remote sync benutzt wird".

Kennt jemand ein gutes Tool, welches in der Lage ist, zwei PC's via FTP-Share zu syncen ? Gerne Phyton, bashscript oder GUI für Linux.

hurra

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 09:33

unison vielleicht? Allerdings geht das wohl nicht mit ftp.

Manwe

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 14:23

Vielleicht probierst du mal das aus. Es liest sich zumidnest so, als ob es funktioniert. ;D

Y0Gi

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 16:49

Ist das ein lokaler FTP-Server? Wenn nicht, würde ich mal schnell von (ich nehme an unverschlüsseltem) FTP Abstand nehmen.

Synchronisation ist mir nicht geheuer, doch ich würde da am ehesten was mit rsync und SSH versuchen (und mir das genannte Unison ansehen).

Kannst du nicht vielleicht auch beide PCs direkt synchronisieren und dann nur von einem das Backup aus machen (lassen)?

Um welches Datenvolumen handelt es sich? Eine Versionskontrolle (wie SVN, gibt auch diverse GUIs dafür) würde bei kleineren Dokumenten in Frage kommen.

Gelöschter Benutzer

unregistriert

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 17:01

Zitat von »Y0Gi«

Ist das ein lokaler FTP-Server? Wenn nicht, würde ich mal schnell von (ich nehme an unverschlüsseltem) FTP Abstand nehmen.

Synchronisation ist mir nicht geheuer, doch ich würde da am ehesten was mit rsync und SSH versuchen (und mir das genannte Unison ansehen).

Kannst du nicht vielleicht auch beide PCs direkt synchronisieren und dann nur von einem das Backup aus machen (lassen)?

Um welches Datenvolumen handelt es sich? Eine Versionskontrolle (wie SVN, gibt auch diverse GUIs dafür) würde bei kleineren Dokumenten in Frage kommen.


Also, der FTP Server ist nicht lokal sondern Remote. SSL Verbindung wird momentan vom Skript nicht genutzt, ich hätte aber einen SSH Zugang zum Server, falls das hilft.

Die PCs zu syncen ist nicht (ohne weiteres) möglich, da an zwei verschiedenen Standorten und nur durch Internet verbunden.

Datenvolumen beträgt insgesamt ca. 2GB, wobei die täglich zu synchronisierenden Änderungen wohl bei 5-10MB liegen. Also gut mit einer normalen DSL Leitung nachts per cron machbar.

Manwe

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 18:00

Na wenn beide PCs eh online sind, am besten auch zur selben Zeit, dann bietet sich rsync doch quasi an. Zur Sicherheit vllt. über SSH tunneln, sofern das möglich ist..

Eikman

Moderator

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 19:38

Ich plädiere wie Yogi für rsync.

Y0Gi

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Donnerstag, 4. September 2008, 20:20

Wenn du eh' SSH hast, dann benutze das doch auch. Durch eine Zeile wie

Quellcode

1
Subsystem sftp /usr/lib/openssh/sftp-server

in der `/etc/ssh/sshd_config` und mit FileZilla kannst du FTP-mäßig wie sonst von der Bedienung gewohnt Dateien transferieren.

rsync geht ebenfalls über SSH mit `ssh://` als Präfix.

Siehe: SFTP und SCP

Zudem kann man per SSH-Key-Login ohne Passwort arbeiten, was für nicht-interaktive Bedienung (cronjob) sicher hilfreich ist.


Nachtrag: Anfangs habe ich mir mit SSH auch etwas schwer getan, aber jetzt weiß ich es *sowas* von zu schätzen. Ich würd's als Killerapplikation gegen Windows bezeichnen, denn da geht das alles nicht so schön und schon gar nicht mit Bordmitteln. Oder anders gesagt: SSH is teh roXx0rZ!!1elf

Gelöschter Benutzer

unregistriert

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Freitag, 5. September 2008, 20:14

Danke, Yogi, da werde ich ansetzen. SSH und rsync.

Deine Codezeile würde ich gerne auch für FTP nutzen, allerdings gibt es keine solche Configdatei (hab ich neu angelegt), und auch das sftp-server ist in dem Verzeichnis nicht vorhanden. Oder sollte das einen Symlink erzeugen ? Erklär doch mal ausführlicher ;-) Danke !

Y0Gi

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Freitag, 5. September 2008, 21:17

Wenn die Konfigurationsdatei nicht existiert, ist offenbar das (Meta-)Paket `ssh` gar nicht installiert. Die entsprechende Zeile für SFTP sollte dabei schon "ab Werk" drinstehen (fast ganz am Ende) - ich meine, die nicht selbst eingetragen zu haben. Gilt alles für Ubuntu und Debian.

Gelöschter Benutzer

unregistriert

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Freitag, 5. September 2008, 21:42

Zitat von »Y0Gi«

Wenn die Konfigurationsdatei nicht existiert, ist offenbar das (Meta-)Paket `ssh` gar nicht installiert. Die entsprechende Zeile für SFTP sollte dabei schon "ab Werk" drinstehen (fast ganz am Ende) - ich meine, die nicht selbst eingetragen zu haben. Gilt alles für Ubuntu und Debian.


Doch, das Metapaket ssh ist installiert :-) Anscheinend muss ich für Ubuntu 8.0.4 mal nach dem richtigen Ort der Datei suchen  :P

Es gibt in dem Verzeichnis eine ssh_config, mit folgendem Default-Aufbau :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Y0Gi

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Samstag, 6. September 2008, 00:16

Zitat von »Möppel«

Es gibt in dem Verzeichnis eine ssh_config, mit folgendem Default-Aufbau [...]

Nein, das ist die für den Client, die für den Server heißt `sshdd_config`, von "daemon".


Die Paketsuche findet die entsprechende Datei jedoch nicht. Daher vermute ich erstmal, dass der Server die automatisch anlegt oder, dem Header der meinigen nach (und generell sicher besser) das Post-Install-Script das übernimmt.

Vielleicht startest du den Server mal über `sudo /etc/init.d/ssh start` und guckst, was er sagt (inkl. "der läuft ja schon!").

Gelöschter Benutzer

unregistriert

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Samstag, 6. September 2008, 02:07

Zitat von »Y0Gi«


Nein, das ist die für den Client, die für den Server heißt `sshdd_config`, von "daemon".


Die Paketsuche findet die entsprechende Datei jedoch nicht. Daher vermute ich erstmal, dass der Server die automatisch anlegt oder, dem Header der meinigen nach (und generell sicher besser) das Post-Install-Script das übernimmt.

Vielleicht startest du den Server mal über `sudo /etc/init.d/ssh start` und guckst, was er sagt (inkl. "der läuft ja schon!").


So, Client (Notebook) und Webserver (ist bei Domainfactory gehostet) finden sich jetzt über SSH incl. passwortlosem Login per Public/Privat Key.

Jetzt probier ich mal nen bischen an rsync rum, und dann sollte es doch schon fast laufen :-)

Y0Gi

God

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Samstag, 6. September 2008, 03:06

Feinst!

Gelöschter Benutzer

unregistriert

Re: Dateisync 2x Linux-PC über FTP-Server realisie

Samstag, 6. September 2008, 13:10

Zitat von »Y0Gi«

Feinst!


Ja, vielen Dank für die vielen Tips :-) Ich weiss gar nicht, was ich so viele Jahre ohne Linux gemacht habe... :-P

Habe jetzt mittels Grsync GUI die rsync Parameter relativ einfach herausbekommen, und werde mich für den Beginn mit einer unidirektionalen Backuplösung zufrieden geben. Der eine Client schiebt also Daten ins Web, der andere holt sie sich. Im zweiten Schritt werde ich dann mal Unison ausprobieren, aber das muss ich erstmal auf dem DF-Webserver installieren, da hab ich gerade keine Lust zu :-)