আমি সমস্ত ফাইল এবং ডিরেক্টরিগুলি কীভাবে এসএসএসের ওপরে নির্দিষ্ট ফাইলগুলি অনুলিপি করব?


23

লিনাক্স কমান্ড লাইনটি ব্যবহার করে আমি scpএকটি নির্দিষ্ট ডিরেক্টরি থেকে সমস্ত ফাইল এবং ফোল্ডার অনুলিপি করতে কমান্ডটি ব্যবহার করি । তবে আমি ব্যান্ডউইথ গ্রহণ করতে পছন্দ করি না, জিনিসগুলি অনুলিপি করার জন্য আমি আমার tiny_mceফোল্ডারের মতো খুব কমই পরিবর্তন করি change সমস্ত কিছু অনুলিপি করার কৌশলটি কী তবে ফোল্ডারগুলির একটি সংক্ষিপ্ত তালিকা এড়ানো যায়?

উত্তর:


19

rsyncসূক্ষ্মভাবে কাজ করে এবং বেশিরভাগ ক্ষেত্রে এসএসএইচ স্বয়ংক্রিয়ভাবে ব্যবহার করে কারণ এটি পরিবহন প্রোটোকল। এটি ফাইলগুলির তুলনা করবে এবং কেবল পরিবর্তিত ফাইলগুলি আপলোড করবে - তবে আপনি গাছটিতে থাকা ফাইলগুলি নির্দিষ্ট করতে একটি বাদ দেওয়া তালিকাও ব্যবহার করতে পারেন যা কোনওভাবেই সংযুক্ত না হওয়া উচিত।


আরএসআইএনসি স্বয়ংক্রিয়ভাবে এসএসএইচ ব্যবহার করে না - এটি করতে আপনাকে "-e ssh" পতাকা সরবরাহ করতে হবে।

4
হ্যাঁ এটা করে. Rsync 2.6.0 প্রকাশিত - ডিফল্ট রিমোট শেলটি এখন "ssh" হয় যদি না আপনি কনফিগার না করে অন্য কিছুকে ডিফল্ট করতে চান। samba.org/rsync

12

আপনি আরএসসিএন চেষ্টা করতে পারেন যা কেবল পরিবর্তিত ফাইলগুলির অনুলিপি করে, এসএসএস-এর মাধ্যমেও কাজ করে।


9

এখানে ব্যবহার rsync --excludeকরা আরও সুস্পষ্ট পছন্দ, তবে আপনি যদি সত্যিই কয়েকটি ফাইল বা ফোল্ডার প্রেরণ করতে চান এবং বাদ দিতে নির্দিষ্ট কিছু করতে চান তবে আপনি শেল গ্লোবিং ব্যবহার করতে পারেন scp। প্রথমে নিশ্চিত করুন যে আপনার শেলটিতে সঠিক গ্লোবিং বিকল্প রয়েছে set বাশ রান shopt -s extglobএবং zsh ব্যবহারের জন্য setopt ksh_glob। তারপরে এরকম কিছু:

scp /path/to/folder/!(tiny_mce|other_folder|*.bak) user@host:target_path

... প্রদত্ত প্যাটার্নের সাথে মেলে এমন জিনিসগুলি বাদ দিয়ে উত্স ফোল্ডারে সমস্ত কিছু অনুলিপি করা হবে। স্পষ্টতই আপনি সেই অংশটি দিয়ে সৃজনশীল পেতে পারেন।


7

rsync একটি ভাল সমাধান, তবে আপনি যদি বিকল্পটির সন্ধান করেন:

ধরা যাক, আমাদের একটি ডিরেক্টরি "পরীক্ষা" রয়েছে "foo, বার, বাজ" ডিরেক্টরিতে। এই ডায়ারে বিভিন্ন ধরণের ফাইলের গুচ্ছ রয়েছে:

test
|____bar
| |____1.jpg
| |____1.png
| |____1.txt
| |____2.jpg
| |____2.png
| |____2.txt
|____baz
| |____1.avi
| |____2.avi
| |____3.png
|____foo
| |____test.blah
|____test.txt

আমরা পিএনজি বাদে সব কিছু অনুলিপি করতে চাই

scp $(find /location/of/test -type f ! -name "*.png") # -> Note the logical NOT!!

এই উদাহরণে, কমান্ডটি সমস্ত ফাইলকে একই গন্তব্য ডিরেক্টরিতে রাখবে - এটি আপনি চান এমন আচরণ হতে পারে না।


1
মনে রাখবেন এই উত্তরটি কেবল তখনই কাজ করে যদি জড়িত ফাইল এবং ডিরেক্টরি নামগুলিতে কোনও শেল বিশেষ অক্ষর (সাদা স্থান বা \[*?) না থাকে ।
গিলস 21:44-

3

আপনি চেষ্টা করতে পারেন এমন দুর্দান্ত সরঞ্জামটি হ'ল "lftp"।

lftp sftp://etc.etc/ 
lftp> ls 
    --- remote listing ---
lftp> mirror -R -n local/ remote/

আপনি ssh ওপরে আরসাইক ব্যবহার করতে পারেন

rsync -avzp -e ssh /this/dir/  remoteuser@remotehost:/remote/dir/

কাজ করা উচিত.


0

আমি কেবল লেখার কাজটি শেষ করেছি যেহেতু আমি যেভাবে কোনও দিন আরএসসিএনকে একীভূত করতে পছন্দ করি it

  • পরিবহণের জন্য এসএসএস ব্যতীত ডিমন প্রয়োজন হয় না
  • আমাকে যে কোনও সময় উভয় পক্ষের ফাইলগুলি সংশোধন করতে দেয় - একাধিক মাস্টার সহজেই, তবে আমাকে কেবল একপাশের থেকে একটি সিঙ্ক অনুরোধটি চাপতে হবে
  • মোডটাইম, বৈশিষ্ট্য / অনুমতি, সফটলিঙ্ক ইত্যাদির ক্ষেত্রে আমি কোনও স্টিকার আছি; এতে কোনও সমস্যা নেই; একটি প্রকল্পের জন্য আমি এমনকি 4 টি আয়নাও ব্যবহার করি, একটি সাইগউইন হোস্ট। আমার উদাহরণ crontab সেটআপ দেখুন।
  • মত ব্যতিক্রম সমর্থন করে *.bak। আমার কনফিগারেশন ফাইলের নমুনা

0

সুরক্ষিত অনুলিপি ব্যবহার করুন - scp

scp -r file user@host:

অনেক ফাইল কপি করতে

scp /directory/* user@host:destinationPath

কিছু ফাইল কপি করতে

scp /directory/!(*.doc) user@host:destinationPath

এটি ডক ফাইল ব্যতীত ডিরেক্টরি সামগ্রীর অনুলিপি করে


0

আমি অবশ্যই আপনাকে rsync সুপারিশ করব।

rsync -vra --exclude = "আপনি কী বাদ দিতে চান" -স ssh ফোল্ডার ব্যবহারকারী @ রিমোটহোস্ট: / ফোল্ডার


0

গন্তব্য সার্ভার থেকে এটি চালানোর সময় আমার পক্ষে এটি কাজ করেছিল।

rsync -av --progress user@servername:/sourcefolder /destinationfolder --exclude thefoldertoexclude

0

tiny_mceডিরেক্টরিটি উপেক্ষা করার জন্য আমরা এটি দুটি পদক্ষেপে করতে পারি । ধরে নিচ্ছি সমস্ত ডিরেক্টরি ছোট হাতের অক্ষর দ্বারা শুরু হয়।

scp -r USER@HOSTNAME:~/FOLDER/[a-s]* .
scp -r USER@HOSTNAME:~/FOLDER/[u-z]* .

এছাড়াও, ব্যবহারকারী, HOSTNAME, এবং ফোল্ডারকে আসল মানগুলিতে পরিবর্তন করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.