Answers:
ඔව්, භාවිතා කරන්න -r
:
scp -rp sourcedirectory user@dest:/path
සටහන: මෙමඟින් sourcedirectory
අභ්යන්තරය නිර්මාණය වන අතර /path
එමඟින් ගොනු ඇතුලත් වේ/path/sourcedirectory
-pr
(ආපසු හැරවිය සඳහා විකල්ප) ෆෝල්ඩර, bur වෙනුවට ඔවුන්ගේ ඉලක්ක ගත බහලුම වෙත අන්තර්ගත (ඇත්ත, විකල්ප කරුණු සඳහා) පිටපත් කිරීමට නොහැකි වනු ඇත.
පෙර පිළිතුරු තාක්ෂණිකව නිවැරදි වුවත්, rsync
ඒ වෙනුවට භාවිතා කිරීම ගැනද සලකා බැලිය යුතුය . rsync
යැවීමේ සහ ලැබීමේ පැතිවල දත්ත වෙනස් යාන්ත්රණයක් සමඟ සංසන්දනය කරයි, එම නිසා කලින් යවා ඇති දත්ත නැවත යැවීමට අවශ්ය නොවේ.
ඔබ දුරස්ථ යන්ත්රයකට යමක් කිහිප වතාවක් පිටපත් කිරීමට යන්නේ නම්, භාවිතා කරන්න rsync
. ඇත්ත වශයෙන්ම, rsync
සෑම විටම භාවිතා කිරීම හොඳය, එයට ගොනු අවසර සහ හිමිකම පිටපත් කිරීම සහ ඇතැම් ලිපිගොනු හෝ නාමාවලි බැහැර කිරීම වැනි දේ සඳහා වැඩි පාලනයක් ඇති බැවිනි. සාමාන්යයෙන්:
$ rsync -av /local/dir/ server:/remote/dir/
දුරස්ථ නාමාවලියක් සමඟ දේශීය නාමාවලිය සමමුහුර්ත කරයි. ඔබ එය දෙවන වර ධාවනය කළහොත් සහ දේශීය නාමාවලියෙහි අන්තර්ගතය වෙනස් වී නොමැති නම්, කිසිදු දත්තයක් මාරු නොකෙරේ - scp
සෑම අවස්ථාවකදීම ධාවනය කිරීමට හා පිටපත් කිරීමට වඩා කාර්යක්ෂම වේ .
එසේම, rsync
බාධා කිරීම් වලින් මාරුවීම් වලින් පහසුවෙන් සුවය ලබා ගැනීමට ඔබට ඉඩ සලසයි scp
.
අවසාන වශයෙන්, rsync
පෙරනිමියෙන් නවීන අනුවාදයන් ssh ඉක්මවා යයි, එබැවින් scp
දැනටමත් ක්රියාත්මක වන්නේ නම්, එය rsync
ප්රතිස්ථාපනය කළ යුතුය.
rsync
වඩා කාර්යක්ෂම බව මම එකඟ වෙමි . එය දැනට නොකරන එක් දෙයක් නම් scp
දුරස්ථ ධාරකයන් අතර පිටපත් කිරීමට ඉඩ දීමයි (අවම වශයෙන් ඒවායින් එකක් මත rsync සේවාදායකය ධාවනය නොකර).
-av
: v යනු වාචික සඳහා වන අතර, ලේඛනාගාරයක් සඳහා වන අතර එය -rlptgoD සඳහා කෙටිමඟකි, එය පුනරාවර්තන, අයිතිවාසිකම් හිමිකරුගේ දිනයන් සහ සබැඳි ආරක්ෂා කරයි. ඔබට අවශ්ය වන්නේ පුනරාවර්තන භාවිතය පමණි-r
ඒ දේ -r
විකල්පය වේ. :)
අවශ්ය නම් වැඩි විස්තර සඳහා scp man පිටුව බලන්න .
පුනරාවර්තන පිටපත් විකල්පය '-r' (කුඩා අකුරු)
scp -r
සාමාන්ය දේශීය පුනරාවර්තන පිටපත් විකල්පය '-R' සමඟ මම පටලවා ගන්නා (ඉහළ නඩුව)
cp -R
හොඳම ක්රමය වන්නේ SSH හරහා rsync භාවිතා කිරීමයි
rsync -a -essh /source/ user@dest-server:/dest/
rsync -a -essh user@source-server:/source/ /dest/
මගේ ප්රියතම විකල්පයන් වන්නේ -Pazvessh --delete:
rsync
මා භාවිතා කළ සියලුම අනුවාදයන් ssh
පෙරනිමියෙන් භාවිතා කරනු ඇත, එබැවින් -essh
අවශ්ය නොවනු ඇත. දුරස්ථ ධාරකයට සම්බන්ධ වීමට භාවිතා කරන විධානය තේරීම සැබවින්ම පුනරාවර්තව පිටපත් කිරීමට සම්බන්ධ නොවේ.
පුනරාවර්තන පිටපත් ධජය සෙවීමෙන් පසුව සහ මෙම පෝස්ටයට ස්තූතියි එය සාර්ථකව භාවිතා කිරීමෙන් පසුව, මම යෝජනාවක් පමණක් පළ කිරීමට කැමැත්තෙමි.
ඔබ ඩිරෙක්ටරියක් පිටපත් කරන්නේ නම් (පුනරාවර්තන ලෙස). සමහර විට ලිපිගොනු සම්පීඩිත ලෙස යවනු ලැබුවහොත් ඔබට මාරුවීමේදී කාලය ඉතිරි කර ගත හැකිය
මම අවසානයේ කළේ:
local$ tar -czvf local.tar.gz directory/
local$ scp local.tar.gz user@remote:/directory
ssh user@remote
remote$ tar -xzvf local.tar.gz
මෙය උපකාරී වේ යැයි සිතමි
.tar.gz
හෝ .tgz
ගොනුව gzipped තාර ලේඛනාගාරයක් බැවින් ( -z
ධජය භාවිතා කරන බැවින්).
මෙම සරල විධානය සමඟ ඔබට සම්පීඩිත ලේඛනාගාරයකට ඩිරෙක්ටරියක් පුනරාවර්තනය කළ හැකිය:
ssh -p 22 user@address-to-copy-from.com 'cd /parent/directory && tar zcvf - directory_to_copy' > /destination/on/your/machine/archive_name.tgz
උදාහරණයක් ලෙස, ඔබ /var/log
වෙතින් අන්තර්ගතය පිටපත් domain.com
කිරීමට ~/logs.tgz
:
ssh -p 22 user@domain.com 'cd /var && tar zcvf - log' > ~/logs.tgz
පයිප්ප භාවිතා කිරීමෙන් ඔබට ඉලක්ක පද්ධතියේ ගොනු උකහා ගත හැකිය. මෙම විධානය හි අන්තර්ගතය පිටපත් කරනු /var/log
දී domain.com
ගැනීමට ~/destination/log
ඔබේ පද්ධතිය මත:
ssh -p 22 user@domain.com 'cd /var && tar zcvf - log' | tar xzf - -C ~/destination
නාමාවලියක් පිළිබිඹු කිරීමට ඔබ බොහෝ විට භාවිතා කළ යුතුය rsync
...
පරිශීලකයාගේ මුරපදය අන්තර්ක්රියාකාරීව ඇතුළත් කරනවාට වඩා පරාමිතියක් ලෙස යැවීමට ඔබ කැමති නම්, ඔබට sshpass
( sudo apt-get install -y sshpass
) භාවිතා කළ හැකිය .
උදාහරණයක්:
sshpass -p 'remote_password' scp -rp /src/folder myremoteusername@122.10.12.123:/dest/folder
ඕනෑම පද්ධතියක පුනරාවර්තන ලෙස නාමාවලි පිටපත් කිරීමට ඔබට scp විධානය සමඟ -r විකල්පය භාවිතා කළ හැකිය. ඔබට වෙනත් යමක් අවශ්ය නම් scp විධාන නිබන්ධනය බලන්න . -r විකල්පය බොහෝ ලිනක්ස් විධාන වල පුනරාවර්තන ක්රියාකාරිත්වය නියෝජනය කරයි.
-r
විකල්පය මීට වසර ගණනාවකට පෙර යෝජනා කර ඇති අතර එය පිළිගත් පිළිතුරයි.
තවත් (නැවත නැවත භාවිතා කිරීම සඳහා වඩා හොඳ) විකල්පයක් වන්නේ එන්එෆ්එස් භාවිතා කිරීමයි - එන්එෆ්එස්-කර්නල්-සේවාදායකය සහ එන්එෆ්එස් කොටස් සකස් කරන්නේ කෙසේද යන්න පරීක්ෂා කරන්න.
scp
නමුත් NFS විකල්පයක් නොවේ.