Próbowałem użyć Filezilli i Cyberduck do przesyłania plików przez prosty serwer FTP. Mam następujące problemy:
Filezilla: Kiedy używam go do przesyłania plików, sprawdzam „Monitor aktywności”, użycie „% CPU” wynosi 150% - 200%. Byłem zszokowany. Mój mac zaczyna się opóźniać, więc go zatrzymuję.
Cyberduck: Kiedy ściągam folder z ftp, około 60 MB, w środku są małe pliki (* .php, * .jpg itp.). Pobranie plików zajęło około 8 godzin (czas wskazuje, ile czasu pozostało w cyberduck). Jeśli używam filezilli, zajmuje to tylko 1-3 minuty. Zauważyłem, że podczas korzystania z Cyberducka najpierw ustawia uprawnienia, a nie przenosi pliki bezpośrednio. I to trwało dość długo.
Dlatego poszedłem do google i odkryłem, że mac może używać Terminalu do łączenia się z serwerem ftp i pobierania plików.
ftp hostname
mget * (download all the files)
Teraz kolejny problem, powiedzmy, w moim ftp mam:
- blog(folder)
- php(folder)
- img(folder)
- others folder
Chcę pobrać „blog” i jego kolejne foldery i pliki. Czy mogę to zrobić w 1 wierszu poleceń? Jeśli nie, jak pobrać mój folder „blog”?
Pamiętam w poleceniu unix / linux, jest coś takiego:
- remove -R blba
które usuwają rekurencyjnie folder blba (jego kolejne foldery i pliki), zastanawiam się, czy polecenie ftp terminala mac może to obsługiwać.
Proszę doradź
źródło
Odpowiedzi:
Program curl może pomóc w pobraniu pliku FTP, ale specjalizuje się w jednorazowych adresach URL (http, ftp itp.). Możliwe jest użycie Perla do skryptowania czegoś do listy, a następnie pobierania, ale jest znacznie łatwiejsze w użyciu!
Jednak wget nie jest standardowym programem OSX, więc musisz go ręcznie pobrać, skompilować i zainstalować (stosunkowo łatwe zadanie, o ile masz zainstalowany Xcode).
Uruchom następujące polecenia:
Plik binarny wget zostanie utworzony w podkatalogu src. Stąd możesz uruchomić plik binarny bezpośrednio jako
./src/wget
lub zainstaluj w / usr / local / bin:Teraz musisz tylko uciekać
wget -r ftp: // nazwa użytkownika: passwd @ serwer / ścieżka / do / download
Twoja witryna FTP zostanie rekurencyjnie pobrana z tej ścieżki!Pamiętaj tylko, że / path / to / download jest związane z nazwą użytkownika, z którą się logujesz ... a hasła FTP są notorycznie niezabezpieczone :)
źródło
brew install wget
.Jeśli chcesz kontynuować bez Xcode, możesz również użyć curlmirror który opiera się na
curl
który jest już dostarczany z OSX. W przypadku otrzymania skryptu ze strony internetowej, o której mowa powyżej, musisz zmienić nazwę pierwszej linii na#!/usr/bin/perl
w wybranym edytorze tekstu.źródło
Proponuję przełączyć się na najnowszą wersję Cyberduck z migawkami, która powinna poprawić inicjalizację transferu pobierania.
źródło