উত্তর:
আপনার কমান্ডটি কাজ না করার কারণটি ম্যানুয়াল পৃষ্ঠাটি আরএসইএনসি-র জন্য ব্যাখ্যা করা হয়েছে (জোর দেওয়া হয়েছে):
--মুছে ফেলা
এটি আরএসসিএনকে প্রাপ্য পক্ষ থেকে বহির্মুখী ফাইলগুলি মুছে ফেলতে বলে (যেগুলি প্রেরণকারী পক্ষের নয়) কেবলমাত্র সেই ডিরেক্টরিগুলির জন্য যা সিঙ্ক্রোনাইজ করা হচ্ছে। ডিরেক্টরিতে থাকা সামগ্রীর (যেমন "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 এর পাশ দিয়ে এমনকি বাদ ফাইল মুছে ফেলা হয়।
--delete-excluded
। এটি ব্যতীত, শুধুমাত্র *.jpg
এবং *.txt
গন্তব্য পক্ষের মোছা হতে পারে। এটির সাথে, সম্পর্কিত নয় এমন ফাইলগুলিও মুছে ফেলা হবে। আপনার এই টিউটোরিয়ালটি আরএসসিএন ফিল্টারগুলিতে আগ্রহী হতে পারে ।