සම්පූර්ණ බහලුමක් sftp වලින් ලබා ගන්නේ කෙසේද?


209

මම sftp භාවිතා කිරීමට ඉගෙන ගනිමින් සිටින අතර දුරස්ථ පරිගණකයෙන් මගේ දේශීය පරිගණකයට නාමාවලියක් පිටපත් කිරීමට මට අවශ්‍යය. මම උත්සාහ කළොත්

get [directory]

එය මට මෙම දෝෂය ලබා දෙයි:

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

get -R වැඩ කරන්නේ නැහැ.


2
2010 දී නිකුත් කරන ලද 5.4 දී පුනරාවර්තන පුට් / ලබා ගැනීම OpenSSH වෙත එකතු කරන ලදි. ඔබේ සේවාදායකයන් යාවත්කාලීන කිරීම ගැන සලකා බැලිය හැකි අතර එය දෝෂ නිවැරදි කිරීම් සහ වඩා හොඳ ආරක්ෂක අංග එකතු කරයි.
Lse majesté

වාව්, sftp මූලික වශයෙන් නිෂ් less ල ය. lftpගොඩක් උදව් කරනවා.
එරික් ඩුමිනිල්

Answers:


292

-r(පුනරාවර්තන) ධජය භාවිතා කරන්න :

get -r *

18
ප්‍රශ්නයට සැබවින්ම පිළිතුරු සපයන පිළිතුරක් තැබීමට ස්තූතියි.
aVeRTRAC

30
මට ලබා දෙයි:get: Invalid flag -r
ghbarratt

2
මෙය මට වලංගු නොවන ධජයක් ද ලබා දෙයි. සියලුම පද්ධති වල මෙය සහාය දක්වන බව මට විශ්වාස නැත.
බෙන්

15
il සිල්වින්චි සියලුම වත්මන් පද්ධති නොවේ. CentOS 6.4 openssh-client-5.3p1-84.1.el6.x86_64 සමඟ නීති විරෝධී විකල්පය
CrackerJack9

1
ඩිරෙක්ටරි ලිවීමට අවසර ලබා දීමට -r ලබා ගත හැකි ආකාරය කිසිවෙකු දන්නවාද? මම කියවීමට පමණක් ඇති ඩිරෙක්ටරියක් මත උත්සාහ කරන සෑම අවස්ථාවකම එය බාගත නොකරන්නේ එය දේශීයව කියවීමට පමණක් වන ඩිරෙක්ටරිය නිර්මාණය කරන බැවිනි.
රාහුලි

53

භාවිත:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents

4
මෙය ක්‍රියාත්මක වන නමුත් SFTP වෙතින් මෙය කිරීමට හැකිවීම සතුටක් (එබැවින් මම එය පිටපත් කිරීමට පෙර පිටපත් කරන දේ මට දැකගත හැකිය). මෙය කළ හැකිද?
මතෙව්

Att මැතිව්: මම හිතන්නේ නැහැ. මම කාලයක් තිස්සේ එකම ප්‍රශ්නය මගෙන්ම අසා ඇති අතර මේ මොහොතේ මට ඇති හොඳම පිළිතුර එයයි scp -r. නැතහොත් ඔබට Filezilla වැනි උසස් SFTP ග්‍රාහකයක් භාවිතා කළ හැකිය.
ක්‍රිස්ටියන් කියුපිටු

1
scp -r විසින්
සිම්ලින්ක්

6
සමහර පද්ධති ඉඩ දිය හැකි sftpනමුත් scpප්‍රවේශ විය නොහැක .
ටියුරියන්

මෙය ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත.
එරික් ඩුමිනිල්

42

භාවිතා කරන්න lftp:

lftp sftp://user@host

ඉන්පසු, lftp තුළ, cdඔබට පිටපත් කිරීමට අවශ්‍ය mirrorනාමාවලියට ඇතුළු වී, තෝරාගත් නාමාවලිය නැවත නැවත බාගත කිරීම සඳහා විධානය භාවිතා කරන්න :

mirror

මෙම විධානය මඟින් විකල්ප සහ තර්ක පිළිගනී:

දර්පණය [ විකල්ප ] [ ප්‍රභවය [ ඉලක්කය ]]

උදාහරණයක් ලෙස, -R(හෝ --reverse) විකල්පය මඟින් දේශීය නාමාවලි ගස දුරස්ථ නාමාවලියට උඩුගත කිරීමට හේතු වේ:

mirror -R

වෙනත් විධානයන් සහ විකල්ප සඳහා ව්‍යාපෘතියේ වෙබ් අඩවියේ හෝ Debian.org හිlftp(1) man පිටුව බලන්න .


5
+1 lftp යනු මැජික් හා ප්‍රීතියේ කුඩා මිටියක් මෙනි!
WCWedin

19

මෙම කුඩා මාර්ගෝපදේශය උදව් විය යුතුය, දුරස්ථ සේවාදායකයක් lftp සමඟ දේශීය ෆෝල්ඩරයට පිළිබිඹු කරන්න

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

  • sftp:// = SFTP ප්‍රොටෝකෝලය භාවිතා කරයි
  • mirror = දර්පණ මාදිලිය
  • verbose = බාගත කර ඇති ගොනු පෙන්වයි
  • use-pget-n = කොටස් ගණන, විශාල ලිපිගොනු වේගවත් කිරීමට ඇත්ත
  • parallel = එකවර ගුණක ගොනු බාගත කරයි

ඔබ පිටතට සමාන්තර ස්විචය ගොනු බාගත කිරීමට අවශ්ය නම් use-pget-n=8සමඟ--parallel=8

දුරස්ථ ෆෝල්ඩරයක් දේශීය ෆෝල්ඩරයකට පිළිබිඹු කිරීමට අවශ්‍ය ඕනෑම කෙනෙකුට මෙය උපකාරී වේ යැයි සිතමු


ස්තූතියි, මෙය මට ප්‍රයෝජනවත් විය, අනෙක් ක්‍රම අසාර්ථක වීමෙන් පසුව (විශේෂයෙන් sftp හි "-r" විකල්පයක් නොමැත). මුරපදයේ ඇති ඩොලර් අක්ෂර නිසා මගේ නඩුවේ පළමු කොටස උපුටා දැක්වීමට අවශ්‍ය වියlftp 'sftp://user:pa$$word@server.org:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
ජේසන්

නියමයි, ස්තූතියි. මට දේශීය සිට සේවාදායකයට පිටපත් කිරීමට අවශ්‍ය විය, එබැවින් මම භාවිතා කළෙමිmirror -R ...
එරික් ඩුමිනිල්

15

ඔබට වඩා හොඳ යමක් සොයාගත හැකි නම් sftp වැඩසටහන කෙලින්ම භාවිතා නොකරන්න. ලිනක්ස් සඳහා, බොහෝ ගොනු කළමනාකරුවන් (අවම වශයෙන් නොටිලස් සහ ඩොල්ෆින්, ග්නෝම් සහ කේඩීඊ) ස්වදේශීයව sftp සඳහා සහය දක්වයි, සෑම විටම sshfs ඇත. කවුළු සඳහා, වින්එස්සීපී සහ තවත් බොහෝ දේ ඇත. මේ සියල්ලේම කාරණය වන්නේ සාමාන්‍ය ගොනු පද්ධතියක මෙන් sftp හරහා ලිපිගොනු වෙත ප්‍රවේශ වීමට ඔබට ඉඩ දීමයි, එබැවින් ඔබ ඒවා sftp හරහා ප්‍රවේශ වන බව ඔබ ගණන් ගත යුතු නැත.


වාව්, නැටිලස් SFTP සමඟ ඉතා හොඳින් ක්‍රියා කරයි. මම නාටිලස් හි පිටු සලකුණක් එක් කළෙමි, දැන් එය හාස්‍යජනක ලෙස පහසුය. ස්තූතියි!
මතෙව්

1
මට Nautilus SFTP සමඟ කාර්ය සාධන ගැටලුවක් තිබේ. ඔව්, එය ඇත්තෙන්ම පහසු නමුත් මට 1 Gbit / s ජාලය Nautilus හරහා සංතෘප්ත කිරීමට නොහැකි විය, සරල sftp/sshවිධාන රේඛා අතුරුමුහුණත සමඟ මම (cca 100 MB / s ගොනු මාරු කිරීම්). එබැවින් ගැටළුව වූයේ ග්නූ / ලිනක්ස් මින්ට් හි නාටිලස් ය.
stamster

14

mgetඒ වෙනුවට උත්සාහ කරන්න get.

පැහැදිලි කිරීම: ඔබ පිටපත් කිරීමට අවශ්‍ය නාමාවලිය තුළ සිටී නම් ක්‍රියා mget කරනු ඇත ; ඔබ මේ වගේ දෙයක් කරන්නේ නම්:

sftp> cd dir_to_get
sftp> mget *

එමඟින් එම නාමාවලියෙහි ඇති සියලුම ගොනු ලැබෙනු ඇත. කෙසේ වෙතත්, එය කිසිදු උප බහලුමක අන්තර්ගතය නැවත නැවත ලබා නොගනී .


1
mget මට ලැබෙනවාට වඩා හොඳට වැඩ කරන්නේ නැහැ.
මතෙව්

1
ලබා ගැනීම සමඟ නිත්‍ය නොවන ගොනුවක් බාගත කළ නොහැක
Dchris

1
'Get -r' වැඩ නොකරන පද්ධතියක මෙය මට වැඩ කළේය.
ටොච්ච්කේ

10
get -r [directory]

පුනරාවර්තනය සඳහා පෙනී [directory]සිටින සෑම දෙයක්ම ලබා ගනී r. මම මෙය සොයා ගත්තේ යතුරු ලියනය කිරීමෙන් helpපමණි sftp.


1
IMO මෙය මෙම ප්‍රශ්නයට හොඳම පිළිතුරයි. :)
ramrunner

3
මෙය අනුපිටපත් කරයි පිළිතුර සිට නොවැම්බර් 29 '10 (පාහේ එක් වසර එකහමාරකට පෙර).
ක්‍රිස්ටියන් කියුපිටු

4

මෙන් cp:

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

ඉහත සඳහන් දෑ මුල් ලිපිගොනු සහ උප බහලුම් වල වේලාවන් සහ මාතයන් ආරක්ෂා කරනු ඇත. උපස්ථ ලබා ගැනීමට මෙය විශේෂයෙන් ප්‍රයෝජනවත් වේ.


මෙම මූලික වශයෙන් ක අනුපිටපත වේ පිළිතුර සිට නොවැම්බර් 29 '10 (වසර දෙකකට ආසන්න කාලයක් පෙර).
ක්‍රිස්ටියන් කියුපිටු

sftpඅවසර දී ඇත්නම් පමණක් මෙය විශේෂයෙන් නිෂ් less ල ය .
එරික් ඩුමිනිල්

0

මට දුරස්ථ සේවාදායකයේ ජාවා ඩිස්ට් ෆෝල්ඩරය ඇත, එහිදී මට පහත ගසක් ඇත:

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

ඉලක්කය: මට SFTP භාවිතා කිරීමට අවශ්‍යද? ඒවා / tmp / <> තුළට දමන්න

පියවර 1. sftp remoteuser @ ip

පියවර 2. cd / var / tmp

පියවර 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib

පියවර 3. lcd / tmp / dist

පියවර 4. mget *

පියවර 5. lcd / tmp / dist / lib

පියවර 6. mget *

පියවර 7. අවසානයේ මගේ ඉලක්කය ඇත

$ ls
Audio.jar  lib  README.TXT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.