Synchronizacja plików przez FTP


11

Muszę zsynchronizować pliki na moim komputerze z serwerem, do którego mam tylko dostęp FTP. Nie mogę więc używać rsync (wymagałoby to przynajmniej SFTP, ale jedynym dostępnym kanałem dla mnie jest zwykły waniliowy FTP).

Potrzebuję tylko jednokierunkowej synchronizacji: z mojego komputera na serwer. Słyszałem o programie o nazwie unison , ale wydaje się, że jest przeznaczony do dwukierunkowej synchronizacji i nie jestem pewien, czy można go dostosować do robienia tego, co chcę. Powinienem również dodać, że program powinien działać nieinteraktywnie, aby można go było używać w skrypcie.

Ostatnią opcją byłoby napisanie własnego skryptu, który porówna pliki według czasu modyfikacji (lub coś w tym rodzaju) i skopiuje te, które uległy zmianie. Udało mi się już zamontować katalog FTP w katalogu lokalnym, więc problem sprowadza się do zsynchronizowania dwóch katalogów. Ale moje przeczucie mówi mi, że coś takiego już musi istnieć na wolności.

Odpowiedzi:


14

Ponieważ nie mogłem dostać się wputdo pracy, szukałem alternatywy i znalazłem: ncftp .

Mówiąc dokładniej, ncftpput wydaje się robić prawie to, co zostało zaprojektowane do wput. Co najważniejsze dla mnie, nie zawiesił się jak wput. I rzeczywiście udaje mu się przesłać tylko te pliki, które nie uległy zmianie przy użyciu opcji -z :

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

działało dla mnie idealnie
roman m

Na OSX zainstalować poprzez: brew install ncftp.
kenorb

1
Aby skopiować całe drzewa katalogów, użyj -R.
kenorb

+1 za użycie opcji -z poza etykietą, co oznacza „noclobber” / „Don't overwrite”
Barbararter

Chciałbym to znaleźć 2 dni temu. Zrezygnowałem z ncftpget, ponieważ strona podręcznika nie wyświetlała żadnych „tylko nowszych” opcji „pomiń istniejące”. Uderzyłem głową w lftp - od BASH po Python. Potem spróbowałem ncftp w Google i znalazłem twoje rozwiązanie. Poszukałem go dla ncftpget (strona podręcznika) - „-z / -Z Spróbuj (nie) próbować wznawiać przesyłania. Domyślnie jest to wznawiać”. Nie brzmiało to przekonująco. Ale, do cholery… właśnie tej opcji szukałem: pobieraj tylko nowe pliki za pomocą ncftpget. Mam nadzieję, że ten komentarz komuś pomoże.
Anup Nair


3

Jasne, i nazywa się wput


Oczywiście! Jak o tym nie pomyślałem. Całkowicie zapomniałem tego programu. Myślę, że to zadziała, ale
zdam

W niektórych przypadkach wput daje mi „błąd segmentacji”, gdy próbuję coś wgrać.
Rene Saarsoo,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.