scp - চলমান অবস্থায় একটি ফাইল এড়িয়ে যান


8

আমি স্কিপ চালাচ্ছি এবং রিমোট সার্ভার থেকে একটি ফোল্ডার অনুলিপি করছি, আমি -rl দিয়ে চালাচ্ছি, তাই আমি ফাইলগুলি অনুলিপি করে দেখছি, বর্তমান ফাইলটি কোনও উপায়ে ছেড়ে দেওয়া কি সম্ভব?

উত্তর:


11

না আপনি পারবেন না। তবে আপনি থামাতে scpএবং rsyncপরিবর্তে ব্যবহার করতে পারেন । এটি কেবলমাত্র আংশিক অনুলিপি থেকে থাকা পার্থক্যগুলি অনুলিপি করবে এবং আপনি যে কোনও ফাইল বা ডায়ারগুলি স্থানান্তর করতে চান না তা বাদ দিতে পারেন।

rsync -avP -e ssh --exclude=somefile --exclude=somedir ./localdir/ user@server:remotedir/

2
এটি দরকারী, হ্যাঁ, তবে দুর্ভাগ্যক্রমে এটি যে প্রশ্ন করা হয়েছিল তার উত্তর দেয় না।
এম্মালি উইলসন

8
এটি প্রশ্নের সঠিক উত্তর দেয়; প্রশ্নটি জিজ্ঞাসা করে যে এটি কিছু করা সম্ভব কিনা এবং এই উত্তরটি "না" উত্তর দেয়। এরপরে এটি একটি সহায়ক, অন টপিক বিকল্প সরবরাহ করে।
ক্রিস্টোফার শ্রোবা

1

না, কোনও কমান্ডের -rমধ্যে একাধিক ফাইল স্থানান্তর সম্পাদনকারী বা অন্য কোনও সিনট্যাক্স সহ নয় scp

এটি বলেছিল, scpইউনিক্সের দৃষ্টান্তটিও অনুসরণ করে: এমন প্রোগ্রামগুলি লিখুন যা সহজ, সুনির্দিষ্ট কার্যকারিতা সরবরাহ করে যা আকর্ষণীয় উপায়ে এক সাথে বেঁধে রাখা যায়। এর অর্থ এটি এমন একটি লুপ লেখা সম্ভব যা ইন্টারেক্টিভভাবে প্রতিটি ফাইলের জন্য কমান্ডের পৃথক অনুরোধ সম্পাদন করে । তারপরে পৃথক কমান্ডগুলি চালিত হওয়ার সাথে সাথে আপনি তা ছিন্ন করতে সক্ষম হবেন। করুন (Ctrl-সি)

এর কোডটি পাঠকের কাছে অনুশীলন হিসাবে ছেড়ে দেওয়া হচ্ছে, তবে একটি ইন্টারেক্টিভ শেলের মধ্যে এই লুপটি কার্যকর করার জন্য জোর দেওয়া উচিত। অ-ইন্টারেক্টিভ শেল থেকে বেরিয়ে আসা পুরো কাজটি শেষ করে দেবে।


0

হ্যা, তুমি পারো!

আসুন দূরবর্তী ডিরেক্টরিটি তালিকাবদ্ধ করুন এবং প্রতিটি ফাইল পৃথকভাবে অনুলিপি করুন। তারপরে প্রতিটি ফাইল যা আপনি অনুলিপি করতে চান না তার জন্য ctrl-c চাপুন:

OLD_IFS="$IFS"
IFS=$'\n'
for file in `ssh user@host ls /remote/directory/`
  do echo user@host:/remote/directory/$file /local/directory/
done;
IFS="$OLD_IFS"

ওলডি_আইএফএস এগুলিতে ফাঁকা স্থান সহ ফাইলগুলি পরিচালনা করতে এখানে রয়েছে।


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