Piszę skrypt powłoki systemu Linux, aby skopiować lokalny katalog na zdalny serwer (usuwając wszelkie istniejące pliki).
Serwer lokalny: ftp
i lftp
polecenia są dostępne, nie ma ncftp
ani żadnych narzędzi graficznych.
Serwer zdalny: dostępny tylko przez FTP. Bez rsync, SSH i FXP.
Zastanawiam się nad listą plików lokalnych i zdalnych, aby wygenerować skrypt lftp, a następnie go uruchomić. Czy jest lepszy sposób?
Uwaga: Przesyłanie tylko zmodyfikowanych plików byłoby plusem, ale nie jest wymagane.
wput
(wget-ftp-uploader):wput dir/ ftp://user:pass@host/dir
Odpowiedzi:
lftp powinien być w stanie to zrobić w jednym kroku, w szczególności z
lftp mirror
:EDYCJA: składnia polecenia lftp jest myląca, oryginalne wywołanie, które opublikowałem, nie działa. Spróbuj tak:
zwróć uwagę na cytaty wokół argumentów
-e
przełącznika.źródło
W oparciu o pomysł Phila dotyczący korzystania z trybu lustrzanego lftp, to polecenie załatwia sprawę:
Wadą jest to, że wymaga, aby serwer lokalny miał uruchomiony serwer FTP.
źródło
To działało dla mnie, wiele innych prób zawiodło. W lftp więcej informacji dostępnych jest poprzez:
źródło
mirror -R
tutaj.W końcu mam odpowiedź !!! Utwórz skrypt powłoki ftpmirror.sh
Jeśli pakiet lftp nie jest zainstalowany, zainstaluj go używając yum.
źródło