ගමනාන්ත නාමාවලියෙහි අන්තර්ගතය ප්රතිස්ථාපනය නොකර සම්පූර්ණ නාමාවලියම එකම නාමාවලියකට පිටපත් කරන්නේ කෙසේද? (ඒ වෙනුවට, ගමනාන්ත ෆෝල්ඩරයේ අන්තර්ගතයට එක් කිරීමට මම කැමතියි)
ගමනාන්ත නාමාවලියෙහි අන්තර්ගතය ප්රතිස්ථාපනය නොකර සම්පූර්ණ නාමාවලියම එකම නාමාවලියකට පිටපත් කරන්නේ කෙසේද? (ඒ වෙනුවට, ගමනාන්ත ෆෝල්ඩරයේ අන්තර්ගතයට එක් කිරීමට මම කැමතියි)
Answers:
මුල් නාමාවලියෙහි නවතම ගොනු පමණක් යාවත්කාලීන කිරීමට හෝ ගමනාන්තයේ දැනටමත් පවතින සියලුම ලිපිගොනු මඟ හැරීමට අවශ්ය නම් භාවිතා rsyncකර සමත් -uවන්න --ignore-existing.
rsync -au /local/directory/ host:/remote/directory/
rsync -a --ignore-existing /local/directory/ host:/remote/directory/
( /ප්රභව පැත්තේ ඇති සටහන සැලකිල්ලට ගන්න : එය නොමැතිව එය rsyncනිර්මාණය වනු ඇත /remote/directory/directory.)
--ignore-existingප්රතිස්ථාපනය නොකර එකතු කරයි, ඔබ දකින දත්ත නැතිවීම කුමක්ද?
rsyncපහසුවෙන් ලබාගත නොහැකි නම් මෙය උදව් නොකරයි .... (Win32-OpenSSH මෙන්)
--rsync-pathඅවශ්ය වන අනෙක් උදාහරණයයි )
ඔබට ලිපිගොනු ලිවීමට අවසර තිබේ නම් scp ඒවා නැවත ලියයි.
වෙනත් වචන වලින් කිවහොත්: scpඉහත සඳහන් ලිපිගොනු වල ලිඛිත අවසරයන් තාවකාලිකව ඉවත් කිරීමෙන් ඔබට effectively ලදායී ලෙස මඟ හැරිය හැක (ඔබ ලිපිගොනු හිමිකරු නම්, එනම්).
scp -r user@server.com:/location/of/files/* /local/location/
දිනය අනුව ඔබට නව ගොනු පමණක් පිටපත් කළ හැකිය. භාවිතfind
scp `find /data/*.gz -type f -mtime +7` USER@SERVER:/backup/
ඔබට ගමනාන්ත ගොනු අන්තර්ගතය කියවීමට පමණක් කළ හැකි නම්:
find . -type f -exec chmod a-w '{}' \;
ධාවනය කිරීමට පෙර scp(එය පැමිණිලි කර පවතින ගොනු මඟ හරිනු ඇත).
පසුව ඒවා නැවත වෙනස් කරන්න ( chmod +wඋමාස්ක් පදනම් කරගත් අගය ලබා ගැනීමට). ඔබගේ උමාස්ක් අනුව ලිපිගොනු සියල්ලටම ලිඛිත අවසරයක් නොමැති නම්, ඔබට කෙසේ හෝ අවසර නැවත ගබඩා කිරීමට සිදුවනු ඇත, එවිට ඔබට ඒවා යථා තත්වයට පත් කළ හැකිය.
(ගිලෙස්ගේ පිළිතුර දැනට පවතින ලිපිගොනු දේශීයව අලුත් නම් ඒවා නැවත ලියයි, මට ඒ ආකාරයෙන් වටිනා දත්ත අහිමි විය. එම වැරදි හා හානිකර පිළිතුරට මෙතරම් ඉහළ ඡන්ද ප්රමාණයක් ඇත්තේ මන්දැයි තේරෙන්නේ නැත).
rsync --ignore-existingඔබට දත්ත අහිමි වීමට හේතු වූයේ කෙසේද?
find: missing argument to '-exec'මෙම විධානය භාවිතා කිරීමෙන් මට දෝෂයක් ඇති වූ අතර ඒ වෙනුවට භාවිතා කිරීමට සිදුවිය : find . -type f -exec chmod a-w {} \;. මගේ ලිනක්ස් නරකයි, ymmv.
find . -type f -exec chmod a-w {} \;
ලිපිගොනු පොකුරක් පිටපත් කිරීමට, ඒවා තාර දැමීම වේගවත් ය. -K භාවිතා කිරීමෙන් ඉලක්කගත පද්ධතියට ලිපිගොනු ඉවත් කිරීමේදී තාර නැවත ලිවීම වළක්වයි.
tar -c <source-dir> | ssh <name>@<host> 'tar -kxzf - -C <target-dir>'
මම සමාන වන, මගේ නඩුව, මම භාවිතා කල නො හැකි බව rsync, csyncමගේ ගබඩා පමණක් සේයාරූ ඇති බැවින්, හෝ ගැටෙයි. rsyncගොනුව සඳහා දිනය සහ වේලාව වෙනස් කිරීමට නොහැකි විය, තවත් සමහර උපයෝගිතා (වැනි csync) මට වෙනත් දෝෂ පෙන්වීය: " තාවකාලික ගොනුවක් සෑදිය නොහැක ඔරලෝසු ඇලවීම අනාවරණය විය ".
ඔබට ගබඩා සේවාදායකයට ප්රවේශය ඇත්නම් - මෙහි ඩීමන් ලෙස ස්ථාපනය කරන්න openssh-serverහෝ දියත් rsyncකරන්න.
මගේ නඩුවේදී - මට මෙය කළ නොහැකි වූ අතර විසඳුම වූයේ: lftp . lftpසමමුහුර්තකරණය සඳහා භාවිතා කිරීම පහතින්:
lftp -c "open -u login,password sftp://sft.domain.tld/; \
mirror -c --verbose=9 -e -R -L /srs/folder /rem/folder"
/src/folder- මගේ පරිගණකයේ ඇති ෆෝල්ඩරයද, /rem/folder- වේ sftp://sft.domain.tld/rem/folder.
Http://lftp.yar.ru/lftp-man.html යන සබැඳියෙන් ඔබට මෑන් පිටු සොයාගත හැකිය
මෙය සාක්ෂාත් කරගත හැකි තවත් ක්රමයක් lsනම් ගමනාන්ත ෆෝල්ඩරය මත ක්රියා කිරීමයි:
දුරස්ථ ගමනාන්ත ෆෝල්ඩරයේ:
ls | awk '{print "mv " $1 " ../copied_data/"}' > mv_copied_data
scp mv_copied_data user@source.server.com:/path/to/source/folder
මූලාශ්රය මත:
cd /path/to/source/folder
chmod 777 mv_copied_data
./mv_copied_data
ගමනාන්තය මත:
scp -r user@source.server.com:/path/to/source/folder /path/to/destination/foldeer
- >නාමයක අවකාශයේ නව රේඛාවක් හෝ වෙනත් විශේෂ අක්ෂර තිබේ නම් පිළිතුර භයානක ය . 3. පයිතන් ස්ක්රිප්ට් එකක ලූප් සඳහා දෘඩ කේතය. ධාවන වේලාවේදී වැඩසටහනක් උත්පාදනය කිරීම දුෂ්කර හා උපක්රමශීලී ය (වෘත්තීය ක්රමලේඛකයින් විසින් සිදු කරන විට පවා), බොහෝ හේතු නිසා. ෂෙල් පිටපතක් ජනනය කිරීම ඊටත් වඩා භයානක ය - භයානක අදහසකි.
scpලිපිගොනු නැවත ලිවීම සිදු කරන අතර එය නතර කිරීම සඳහා කිසිදු ස්විචයක් නොමැත, නමුත් ඔබට දේවල් පිටපත් කර ගත හැකිය, scp කර ඉන්පසු පවතින ගොනු නැවත පිටපත් කළ හැකිය. උදාහරණ:
පවතින සියලුම ලිපිගොනු පිටපත් කරන්න
mkdir original_files ; cp -r * original_files/
Scp භාවිතයෙන් සියල්ල පිටපත් කරන්න
scp -r user@server:dir/* ./
Scp විසින් ලියා ඇති ඕනෑම දෙයකට මුල් ගොනු පිටපත් කරන්න:
cp -r original_files/* ./