Synchronisieren von Dateien über FTP


11

Ich muss Dateien auf meinem Computer mit einem Server synchronisieren, auf den ich nur FTP-Zugriff habe. Daher kann ich rsync nicht verwenden (das würde mindestens SFTP erfordern, aber der einzige Kanal, der für mich verfügbar ist, ist einfaches Vanille-FTP).

Ich brauche nur eine Einweg-Synchronisation: von meinem Computer zum Server. Ich habe von einem Programm namens unison gehört , aber es scheint für die bidirektionale Synchronisation gedacht zu sein, und ich bin mir nicht sicher, ob es optimiert werden kann, um das zu tun, was ich will. Ich sollte auch hinzufügen, dass das Programm nicht interaktiv funktionieren sollte, damit es in einem Skript verwendet werden kann.

Die letzte Option wäre, ein eigenes Skript zu schreiben , das Dateien nach Änderungszeit (oder ähnlichem) vergleicht und über die geänderten kopiert. Ich habe es bereits geschafft, das FTP-Verzeichnis in ein lokales Verzeichnis einzubinden, sodass das Problem darin besteht, nur zwei Verzeichnisse zu synchronisieren. Aber mein Bauchgefühl sagt mir, dass es so etwas schon in freier Wildbahn geben muss.

Antworten:


14

Da ich nicht wputzur Arbeit kommen konnte, suchte ich nach einer Alternative und fand: ncftp .

Genauer gesagt ncftpput schien fast zu tun , was wput entworfen wurde , zu tun. Am wichtigsten für mich war, dass es nicht wie wput abstürzte. Tatsächlich können nur die Dateien hochgeladen werden, die sich mit der Option -z nicht geändert haben :

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...

funktionierte perfekt für mich
Roman m

Installieren Sie unter OSX über : brew install ncftp.
Kenorb

1
Verwenden Sie zum Kopieren ganzer Verzeichnisbäume -R.
Kenorb

+1 für die Off-Label-Verwendung von -z bedeutet "noclobber" / "nicht überschreiben"
barrycarter

Ich wünschte, ich hätte das vor 2 Tagen gefunden. Ich habe ncftpget aufgegeben, da auf der Manpage keine "nur neueren" "vorhandenen" Optionen überspringen "angezeigt wurden. Ich habe meinen Kopf auf lftp geschlagen - von BASH bis Python. Dann habe ich einen weiteren Versuch unternommen, ncftp bei Google zu verwenden, und Ihre Lösung gefunden. Ich habe nach ncftpget (Manpage) gesucht - "-z / -Z Versuchen Sie (nicht), die Übertragung fortzusetzen. Standardmäßig wird versucht, die Übertragung fortzusetzen". Hört sich nicht überzeugend an. Aber verdammt noch mal ... das ist die Option, nach der ich gesucht habe: Lade nur neue Dateien mit ncftpget herunter. Ich hoffe dieser Kommentar hilft jemandem.
Anup Nair


3

Sicher, und es heißt wput


Natürlich! Wie habe ich nicht darüber nachgedacht. Ich habe dieses Programm total vergessen. Ich denke, es wird funktionieren, aber ich melde mich zurück, wenn ich wieder zu Hause bin, um es auszuprobieren ...
Rene Saarsoo

Aus irgendeinem Grund gibt mir wput "Segmentierungsfehler", wenn ich versuche, etwas hochzuladen.
Rene Saarsoo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.