উত্তর:
হ্যাঁ, ব্যবহার করুন -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হ'ল দূরবর্তী হোস্টগুলির মধ্যে অনুলিপি করা (কমপক্ষে কোনও একটিতে আরএসসিএন ক্লায়েন্ট না চালিয়ে)।
-av: ভি ভার্বোজের জন্য, আর্কাইভের জন্য এবং এটি একটি শর্টকাট যা -আরলপ্টগোডির পুনরাবৃত্তিকে বোঝায়, অধিকারের মালিকের তারিখ এবং লিঙ্ক সংরক্ষণ করে। আপনি যদি কেবল পুনরাবৃত্ত ব্যবহার করতে চান-r
-rবিকল্প এটি কি জন্য। :)
দেখুন scp কমান্ড man পৃষ্ঠা প্রয়োজনে আরও তথ্যের জন্য।
পুনরাবৃত্তির অনুলিপি বিকল্প '-আর' (লোয়ার কেস)
scp -r
যা আমি নিয়মিত স্থানীয় পুনরাবৃত্তির অনুলিপি বিকল্প '-আর' (আপার কেস) দিয়ে বিভ্রান্ত করি
cp -R
সবচেয়ে ভাল উপায় হ'ল এসএসএইচ এর মাধ্যমে আরএসসিএনসি ব্যবহার করা
rsync -a -essh /source/ user@dest-server:/dest/
rsync -a -essh user@source-server:/source/ /dest/
আমার পছন্দের বিকল্পগুলি হ'ল -পাভেভিশ - মুছে ফেলা:
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যেহেতু ফাইলটি একটি জিজিপড টার সংরক্ষণাগার (যেহেতু -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তবে এনএফএস কোনও বিকল্প নয়।