Prześlij katalog przez sftp

2

Próbuję przesłać localDirna serwer zdalny i postępuję zgodnie z tym przewodnikiem Przewodnik SFTP

ale po przesłaniu localDiri wejściu do środka widzę, że blankDir wykonałem następujące czynności

sftp> lls
404.html  crm nginx-logo.png  test.php

sftp> ls
 crm

sftp> put -r crm /usr/share/nginx/html
      Uploading crm/ to /usr/share/nginx/html/crm
      Entering crm/

Utworzyłem crmkatalog zgodnie z następującą uwagą w Przewodniku SFTP

Uwaga

Obecnie występuje błąd w wersjach OpenSSH dostarczanych z aktualnymi> wydaniami Ubuntu (co najmniej 14.04 do 15.10), który uniemożliwia prawidłowe działanie powyższego polecenia. Po wydaniu powyższego polecenia, aby przenieść zawartość> na serwer przy użyciu błędnej wersji OpenSSH, zostanie wyświetlony następujący błąd:> Nie można kanonizować: Brak takiego pliku lub katalogu.

Aby obejść ten problem, najpierw utwórz katalog docelowy na zdalnym> końcu, wpisując mkdir localDirectory. Następnie powyższe polecenie> powinno zakończyć się bez błędu.

ale przesyłanie pliku działa dobrze.

Jakieś sugestie ?

Tylko użytkownik
źródło
tak, znam przewodnik pomocy dla SFTP przez help or ?zaktualizuję moją kolejkę
Just User
Mam wszystkie uprawnienia, przesłałem plik do tego katalogu, aby sprawdzić, czy działa dobrze
Just User
Ten sam rezultat sftp> put -r crm Uploading crm/ to /usr/share/nginx/html/crm Entering crm/ Po mkdir crm2i ls widzęcrm2
Tylko Użytkownika
1
Tak, widzę, gdzie pokazuje put -r localDirectoryz localDirectoryw Twoim przypadku będzie /crmjednak miejsce, w którym jesteś, przesyłając je na serwerze ( /usr/share/nginx/html/) katalogu / CRM już tam jest. Jeśli tam jesteś, /usr/share/nginx/html/biegnij, rmdir crma następnie zrób, put -r crmaby zobaczyć, czy pokazuje to, czego oczekujesz. Myślę, że /crmjuż tam jest, gdzie próbujesz to wgrać, albo jestem całkowicie zagubiony, co jest absolutnie możliwe ... włóż cały czas robię FTP ... Być może błąd nie jest dla mnie oczywisty.
Pimp Juice IT,
1
Zauważyłem, że według opisu obejścia tego problemu dodanego do odpowiedzi jest najpierw utworzenie katalogu, a następnie przesłanie go. Więc biegniesz, mkdir crma potem biegniesz put -r crm.
Pimp Juice IT,

Odpowiedzi:

2

Twój błąd

wprowadź opis zdjęcia tutaj

Aby rozwiązać problem z komentarzem, po prostu uruchom, mkdir crma następnie uruchom put -r crm.

Te same flagi, które działają z „get” dotyczą „put”. Aby skopiować cały katalog lokalny, możesz wydać:

put -r localDirectory

Uwaga

Obecnie w wersjach OpenSSH dostarczanych z aktualnymi wersjami Ubuntu występuje błąd (co najmniej 14.04 do 15.10), który uniemożliwia prawidłowe działanie powyższej komendy. Po wydaniu powyższego polecenia przesłania zawartości na serwer przy użyciu błędnej wersji OpenSSH zostanie wyświetlony następujący błąd:Couldn't canonicalise: No such file or directory.

Aby obejść ten problem, najpierw utwórz katalog docelowy na zdalnym komputerze, pisząc mkdir localDirectory. Następnie powyższe polecenie powinno zostać wykonane bez błędów.

Pimp Juice IT
źródło