2009-09-12 21:39:59 +0000 2009-09-12 21:39:59 +0000
201
201

Jak mogę uzyskać cały katalog w sftp?

Właśnie uczę się korzystać z sftp i chcę skopiować katalog ze zdalnego komputera na mój lokalny komputer. Jeśli spróbuję

get [directory]

, pojawia się błąd:

Cannot download non-regular file: /home/mpirocch/Documents

get -R też nie działa.

Odpowiedzi (9)

282
282
282
2010-11-29 21:38:08 +0000

Użyj flagi -r (rekurencyjnej):

get -r *
52
52
52
2009-09-12 21:51:06 +0000

Zastosowanie:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
42
42
42
2010-04-08 13:54:47 +0000

Użyj lftp :

lftp sftp://user@host

Następnie, w obrębie lftp, cd do katalogu, który chcesz skopiować, i użyj polecenia mirror, aby rekurencyjnie pobrać wybrany katalog, w następujący sposób:

mirror

Polecenie to przyjmuje opcje i argumenty:

mirror [_OPTIONS_] [_source_ [_target_]]

Na przykład, opcja -R (lub --reverse) spowoduje załadowanie drzewa katalogów lokalnych do zdalnego katalogu:

mirror -R

Zobacz stronę podręcznika użytkownika lftp(1) na stronie projektu lub w Debianie. org dla innych komend i opcji.

17
17
17
2014-03-10 01:18:10 +0000

Cóż, ten mały przewodnik powinien pomóc, lustro zdalnego serwera do lokalnego katalogu z lftp

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = używa protokołu SFTP
  • mirror = tryb lustrzany
  • verbose = pokazuje pobierane pliki
  • use-pget-n = liczba segmentów, realy useful to speed up big files
  • parallel = downloads multiplier files at the same time

if you want to download files in parallel switch out use-pget-n=8 with --parallel=8

hope this helps everyone needing to mirror a remote folder to a local folder

15
15
15
2009-09-13 03:11:22 +0000

Nie używaj programu sftp bezpośrednio, jeśli możesz znaleźć coś lepszego. Dla Linuksa wiele menedżerów plików (przynajmniej Nautilus i Dolphin, GNOME i KDE) obsługuje sftp natywnie, zawsze jest też sshfs. Dla Windows jest WinSCP, i prawdopodobnie inne . Celem tego wszystkiego jest umożliwienie dostępu do plików poprzez sftp tak, jakby były one na zwykłym serwerze plików, więc nie musisz się martwić, że masz do nich dostęp poprzez sftp.

14
14
14
2009-09-12 22:34:42 +0000

Spróbuj mget zamiast get.

Wyjaśnienie: mget **będzie działać, jeśli jesteś wewnątrz katalogu, który chcesz skopiować; jeśli zrobisz coś takiego:

sftp> cd dir_to_get
sftp> mget *

dostaniesz wszystkie pliki w tym katalogu. Jednakże, będzie nie rekurencyjnie dostawał zawartość jakichkolwiek podkatalogów.

10
10
10
2012-03-06 16:56:09 +0000
get -r [directory]

dostaje [directory] i wszystko pod nim, gdzie r oznacza rekurencyjny. Znalazłem to po prostu wpisując help z sftp.

4
4
4
2013-01-11 09:50:29 +0000

Podobnie jak w przypadku cp:

scp -rp user@host:/path/to/dir dir

Powyższe spowoduje zachowanie czasów i trybów pracy oryginalnych plików i podkatalogów. Jest to szczególnie przydatne przy odzyskiwaniu kopii zapasowych.

0
0
0
2011-09-28 08:39:19 +0000

Mam w zdalnym serwerze folder Java dist, gdzie mam następujące drzewo:

- dist
--- Audio.jar
--- README
--- lib
----- lib.jar

Goal is: Chcę używać SFTP? I umieścić je w /tmp/<<

Krok 1. sftp remoteuser@ip

Krok 2. cd /var/tmp

Krok 2. lmkdir /tmp/dist; lmkdir /tmp/dist/lib

Krok 3. lcd /tmp/dist

Krok 4. mget *

Krok 5. lcd /tmp/dist/lib

Krok 6. mget *

Krok 7. wreszcie mam swój cel

$ ls
Audio.jar lib README.TXT