ডিএসটি সিএনএসের মাধ্যমে গন্তব্যস্থল থেকে বহিরাগত ফাইলগুলি মুছবেন?


51

বলুন আমার আছে

SRC 
  001.jpg
  002.jpg
  001.txt
  a.zip

DEST
  hello.jpg

rsync -d --delete SRC:{*.jpg,*.txt} DEST

এটি ডিএসইটি থেকে হ্যালো.জেপজি সরিয়ে দেয় না, কীভাবে এটি সংরক্ষণাগারভুক্ত করা যায়?

উত্তর:


72

আপনার কমান্ডটি কাজ না করার কারণটি ম্যানুয়াল পৃষ্ঠাটি আরএসইএনসি-র জন্য ব্যাখ্যা করা হয়েছে (জোর দেওয়া হয়েছে):

--মুছে ফেলা

এটি আরএসসিএনকে প্রাপ্য পক্ষ থেকে বহির্মুখী ফাইলগুলি মুছে ফেলতে বলে (যেগুলি প্রেরণকারী পক্ষের নয়) কেবলমাত্র সেই ডিরেক্টরিগুলির জন্য যা সিঙ্ক্রোনাইজ করা হচ্ছে। ডিরেক্টরিতে থাকা সামগ্রীর (যেমন "dir / *") জন্য ওয়াইল্ডকার্ড ব্যবহার না করে আপনি অবশ্যই rsync কে পুরো ডিরেক্টরিটি (যেমন "dir" বা "dir /") প্রেরণ করতে বলেছেন, যেহেতু শেল দ্বারা ওয়াইল্ডকার্ডটি প্রসারিত হয়েছে এবং আরএসএনসি এইভাবে একটি পেয়েছে পৃথক ফাইলগুলি স্থানান্তর করার জন্য অনুরোধ করুন, ফাইলগুলির প্যারেন্ট ডিরেক্টরি নয়। স্থানান্তর থেকে বাদ দেওয়া ফাইলগুলিকেও মুছে ফেলা থেকে বাদ দেওয়া হয় আপনি যদি না --delete-বর্জনীয় বিকল্পটি ব্যবহার না করেন বা প্রেরণকারী পক্ষের সাথে কেবলমাত্র মিলগুলি হিসাবে বিধিগুলি চিহ্নিত করেন (ফিল্টার সংক্রান্ত বিধি বিভাগে সংশোধনকারীগুলি অন্তর্ভুক্ত / বাদ দিন দেখুন)।

এইভাবে, আপনি যখন চালান

$ rsync -d --delete SRC:{*.jpg,*.txt} DEST

ডিইএসটি-তে অযাচিত ফাইলগুলি মুছে ফেলা হচ্ছে না কারণ আপনি আসলে কোনও ডিরেক্টরি সিঙ্ক করার জন্য বলেন নি, তবে কেবলমাত্র কয়েকটি মুখ্য নির্দিষ্ট ফাইলের জন্য। আপনার পছন্দসই ফলাফলগুলি পেতে এইরকম কিছু চেষ্টা করুন:

rsync -d --delete-excluded --include '*.jpg' --include '*.txt' --exclude '*' SRC/ DEST/

লক্ষ্য করুন যে নির্দেশের বিষয়টি অন্তর্ভুক্ত করে এবং বাদ দেয় order মূলত, প্রতিটি ফাইলের উপস্থিতি অনুসারে প্যাটার্নগুলি অন্তর্ভুক্ত বা বাদ দেওয়ার বিরুদ্ধে পরীক্ষা করা হয়। সুতরাং, .jpg বা .txt এক্সটেনশানযুক্ত ফাইলগুলি সিঙ্ক হয় কারণ তারা "অন্তর্ভুক্ত" নিদর্শনগুলির সাথে মেলে তার আগে বর্ধিত "*" প্যাটার্নটি মেলে। --exclude '*'প্যাটার্ন দ্বারা বাকি সমস্ত কিছু বাদ দেওয়া হয়েছে । --delete-excludedবিকল্প নিশ্চিত করে যে DEST এর পাশ দিয়ে এমনকি বাদ ফাইল মুছে ফেলা হয়।


@ চেং, আরও কিছু ব্যাখ্যা করার যত্ন? সমস্যা / উন্নতি হলে আমি আমার উত্তর আপডেট করে খুশি হব।
স্টিভেন ডি

এটা কাজ করে। আমি অনুমান করি. - প্রসেসের জিনিসগুলি আমাকে বিভ্রান্ত করছে, আমাকে ভাবতে বাধ্য করুন যে এটি আবার স্থানান্তরিত হয়েছে।
চেং

আমি আরও কিছুটা ব্যাখ্যা করার জন্য আমার উত্তরটি সম্পাদনা করেছি।
স্টিভেন ডি

2
@ চেং: আমি সন্দেহ করি আপনি এটি চান না --delete-excluded। এটি ব্যতীত, শুধুমাত্র *.jpgএবং *.txtগন্তব্য পক্ষের মোছা হতে পারে। এটির সাথে, সম্পর্কিত নয় এমন ফাইলগুলিও মুছে ফেলা হবে। আপনার এই টিউটোরিয়ালটি আরএসসিএন ফিল্টারগুলিতে আগ্রহী হতে পারে ।
গিলস 16'9

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