কেউ কি আমার জন্য এই আরএসসিএন কমান্ডটি ব্যাখ্যা করতে পারেন?


11

কেউ কি আমাকে বলতে পারে এটি কী করে?

rsync -uva --delete /srv/bkp01 /srv/offbk2/ > ~/offbkp01.log

এটি মুছতে bkp01এবং offbk2একটি লগ প্রেরণ করে offbkp01.log?


সে ম্যান-পেজগুলি পড়তে পারে না। আপনি কী ভাবছেন যে সে এখানে উত্তরগুলি পড়ছে? এক্সডি
টুইঙ্কলস

2
আপনার যখন ব্যাখ্যা করা হবে তখন ম্যান পেজগুলি কার দরকার ?!
টম

উত্তর:


33

এটিকে ভাঙ্গার জন্য দুটি প্রধান বিভাগ রয়েছে যার পরে একটি সংক্ষিপ্তসার এবং নোটগুলি দেওয়া হয়:

  • rsyncকমান্ড প্রয়োগ করুন:
    rsync -uva --delete /srv/bkp01 /srv/offbk2/
  • আরএসসিএন কমান্ডটি চালিত শেল দ্বারা আউটপুট পুনঃনির্দেশ
    rsync-command > ~/offbkp01.log

rsync কমান্ড প্রয়োগ করুন:

বেস কমান্ড:

  • rsync - আমি ধরে নিলাম এর কোনও ব্যাখ্যা দরকার নেই (তবে অনুরোধ করা হলে তা সরবরাহ করব)।

কমান্ড বিকল্পগুলি:

  • -uva - একক অক্ষর বিকল্পের একটি সেট, (সংক্ষিপ্ত তারপর দীর্ঘ ফর্ম প্রদর্শিত):

    • -u --update- আরএসসিএনকে বলে যে সমস্ত পরিবর্তনগুলি কেবলমাত্র সেই গন্তব্যস্থলে থাকা ফাইলগুলিতে প্রয়োগ করা উচিত যা উত্সের চেয়ে বড় বয়সের (এবং বিভিন্ন আকারের) বা পুরানো। অর্থাৎ, আরএসআইএনসি কেবলমাত্র উত্স থেকে পরিবর্তনগুলি পাস করবে যা গন্তব্য আপডেট করবে, তবে এটি কোনও পরিবর্তন করা উচিত নয় যা গন্তব্য ফাইলটিকে পুরানো সংস্করণে পরিণত করে।

      কিছু ব্যতিক্রম আছে। বিভিন্ন ধরণের পার্থক্য (যেমন, একটি ফাইল, অন্যটি ডিরেক্টরি) কোনও তারিখ নির্বিশেষে আপডেটের কারণ হতে পারে। সিমলিঙ্কস এবং অন্যান্য বিশেষ ফাইলগুলি এই বিকল্পটিকে উপেক্ষা করে। এবং, গুরুত্বপূর্ণ, এটি কোন ফাইলগুলি মুছে ফেলা হবে তা প্রভাবিত করে না।

    • -v --verbose- কার্যকর করার সময় আরএসসিএন প্রিন্টের পরিমাণ বাড়িয়ে তোলে। এটি ছাড়া, আরএসসিএনসি (প্রায়?) কিছুই মুদ্রণ করবে। এই বিকল্পটি যেমন রয়েছে তেমন, আরএসসিএনসি আপনাকে জানাবে যে কোন ফাইল স্থানান্তরিত হচ্ছে এবং শেষে একটি সংক্ষিপ্তসার রাখে। আরও vতথ্য মুদ্রিত তথ্য বৃদ্ধি করে, যদিও ম্যান পৃষ্ঠাটি বলছে যে vডিবাগিংয়ের সময় কেবলমাত্র দুটিরও বেশি ব্যবহার করা উচিত।
    • -a --archive- এটি -rlptgDএকসাথে প্যাকেজড অন্যান্য বেশ কয়েকটি বিকল্পের সমতুল্য । দীর্ঘ নামটি যেমন বোঝায়, ফাইল এবং ডিরেক্টরি সংরক্ষণাগারনের জন্য অনেকগুলি সাধারণ বিকল্প সেট করার একটি দ্রুত উপায়। এটি হবে:
      • -r --recursive- rsync কে ডিরেক্টরিগুলি পুনরাবৃত্তভাবে অনুলিপি করতে বলে। এটি বা আরও নির্দিষ্ট -d --dirsবিকল্প ব্যতীত, আরএসসিএনসি সহজেই যে কোনও ডিরেক্টরি পড়েছিল তা এড়িয়ে যায় (এবং এটির ফলাফল সম্পর্কে আপনাকে জানায়)।
      • -l --links- উত্সটি যখন একটি সিমিলিংক হয়, গন্তব্যটিতে একটি সিমিলিংক তৈরি করুন। অন্যান্য বিকল্পগুলির উপর নির্ভর করে সিমলিঙ্কগুলি অন্যথায় পুরোপুরি পৃথক অনুলিপি ছেড়ে দেওয়া বা তৈরি করা যেতে পারে (যেমন, সিমলিংকের পরিবর্তে সামগ্রীগুলির (বা ফাইলের অন্য অনুলিপি)) true
      • -p --perms - উত্স ফাইলগুলির মতো গন্তব্য ফাইলগুলির অনুমতিগুলি সেট করে।
      • -t --times- উত্স ফাইলগুলির মতো গন্তব্য ফাইলগুলির পরিবর্তনের সময়গুলি সেট করে। যেহেতু এই সময়গুলিকে সিঙ্কে রাখার ফলে rsync অ্যালগরিদমকে আরও দক্ষ করা যায়, আপনি সাধারণত সর্বদা এটি ব্যবহার করতে চান, স্পষ্টভাবে বা স্পষ্টভাবে।
      • -g --group- উত্স হিসাবে একই গন্তব্যের গ্রুপ বৈশিষ্ট্য সেট করে। ডিফল্টরূপে নামে সহযোগী, তবে কিছু পরিস্থিতিতে গ্রুপ আইডি নম্বরে ফিরে আসবে। যদি গ্রাহক আরএসএনসি-কে সুপার-ইউজার হিসাবে চালিত না হয় (বা এটি দিয়ে জালিয়াতি করা হয় --fake-super) তবে কেবলমাত্র সেই গ্রুপগুলির মধ্যে যেগুলি ব্যবহারকারী গ্রহণের পক্ষে আরএসসিএনকে অনুরোধ করেছিলেন সেগুলিই সেট করা যেতে পারে। অন্যথায়, গ্রুপটি আগে উল্লিখিত একই ব্যবহারকারীর ডিফল্ট গোষ্ঠীতে সেট করা হবে।
      • -D- বিকল্পগুলির সাথে সমান --devicesএবং --specialsএকসাথে। এর অর্থ:
        • --devices- অক্ষর এবং ব্লক ডিভাইস ফাইল স্থানান্তরিত হয়। গ্রাহক আরএসএনসি-কে সুপার-ইউজার হিসাবে চালিত না করা (বা এটি দিয়ে নকল করা --fake-super) কোনও প্রভাব ফেলবে না ।
        • --specials - বিশেষ ফাইলগুলি (সকেটের মতো) স্থানান্তরিত হয় (অন্যথায় তা হবে না)।
  • --delete- rsync কে গন্তব্যস্থলে থাকা ফাইলগুলি মুছতে বলে, তবে উত্সটিতে নেই। এটি উপরোক্ত সেট আপ আপডেট বিকল্প দ্বারা প্রভাবিত হয় না (প্রকৃতপক্ষে, এটি কীভাবে হতে পারে যেহেতু বেশিরভাগ ফাইল-সিস্টেমগুলি নতুন কোন পদক্ষেপটি নতুন ছিল তা দেখার জন্য প্রয়োজনীয় ডেটা ধরে রাখবে না?)। এই বিকল্পটি ওয়াইল্ডকার্ড / গ্লোব সম্প্রসারণের পরে উত্সগুলিতে কাজ করে , তাই দির / * দির / এর মতো নয়। কিছু গুরুত্বপূর্ণ নোট:
    • এটি স্পষ্টতই বিপজ্জনক। আপনার সম্ভবত --dry-runপ্রথমে বিকল্পটি দিয়ে চেষ্টা করা উচিত , যা ভান করা ট্রান্সফার করে যা আপনাকে নিশ্চিত করে তোলে যে কোনও অনিচ্ছাকৃত পরিবর্তন হয়েছে কিনা।
    • যদি কোনও আই / ও (ইনপুট / আউটপুট) ত্রুটি থাকে - তবে, যদি কোনও কিছু স্থানান্তরিত হয়, পরিবর্তন হয়, বা পরিবর্তন লিখিত হয় - মুছে ফেলা সেই দিক থেকে অগ্রাহ্য করা হবে। এটি --ignore-errorsবিকল্পের সাথে ওভাররাইড করা যেতে পারে , যদিও আপনি সম্ভবত এটি করতে চাইবেন না / করবেন না।
    • মোছার অ্যালগরিদমটিতে বিভিন্ন প্রকারের পরিবর্তন রয়েছে যা সম্পর্কে আপনি ম্যান পৃষ্ঠাতে আরও পড়তে পারেন। যখন প্রাপ্ত গ্রাহকটি সংস্করণ 3.0.0 বা নতুন হয় (এই লেখার সময় হিসাবে) --delete-duringঅ্যালগরিদম ব্যবহার করা হয় m যদি রিসিভারটি বয়স্ক হয় তবে --delete-beforeব্যবহৃত হয়। যদি ফাইলগুলি একটি নির্দিষ্ট ধরণের ধারাবাহিকতা বজায় রাখা গুরুত্বপূর্ণ তবে ত্রুটি দেখা দিতে পারে (যেমন অন্য সমস্ত পরিবর্তন না হওয়া পর্যন্ত কোনও কিছু মুছতে না পারে), আপনার ডিফল্টের চেয়ে আরও নির্দিষ্ট বিকল্প ব্যবহার করা উচিত।

কমান্ডের অবস্থানগুলি:

  • /srv/bkp01- উত্স ফাইল বা ডিরেক্টরি। ডিরেক্টরিটির শেষে / স্ল্যাশ না থাকলে এবং অন্য ডিরেক্টরি উপস্থিত থাকলে এর অর্থ কী তা নিয়ে কিছু বিশদ নিয়ম রয়েছে। আপনি দেখতে পারেন , USAGE বিস্তারিত জানার জন্য man পৃষ্ঠা বিভাগে কিন্তু এখানে একটি trailing স্ল্যাশ অভাব মানে হল এই ডিরেক্টরির গন্তব্য অনুলিপি করা হবে, এই ডিরেক্টরির এর বদলে বিষয়বস্তু গন্তব্য অনুলিপি করা হচ্ছে। একই যদি এটি একটি ডিরেক্টরি পরিবর্তে একটি ফাইল হয়।
  • /srv/offbk2/- গন্তব্য ডিরেক্টরি। সাধারণভাবে, কমান্ডের অন্য কোথাও নির্দিষ্ট করার জন্য কোনও বিকল্প ব্যবহার না করা হলে এটি সর্বদা rsync কমান্ড বিভাগে তালিকাভুক্ত শেষ আইটেম হবে।

শেলের আউটপুট পুনঃনির্দেশ:

শেল কমান্ড:

  • >- এই স্ট্যান্ডআউট (স্ট্যান্ডার্ড আউটপুট) ডানদিকে ফাইল থেকে বামদিকে যা আছে তা থেকে এর বিষয়বস্তু হয়ে ওঠে এবং ফাইলটি ইতিমধ্যে উপস্থিত না থাকলে (যদি সম্ভব হয়) তৈরি করে red কিছু নোট:
    • আপনি উপরের কমান্ডের একেবারে শেষে যুক্ত করে stderr (স্ট্যান্ডার্ড ত্রুটি আউটপুট) একই ফাইলে পুনর্নির্দেশ করতে পারেন 2>&1। অর্ডারটি গুরুত্বপূর্ণ, তাই কোথায় রাখবেন সে বিষয়ে সাধারণভাবে সতর্ক হন। ম্যাজিক সংখ্যাটি 1স্টাডাউটকে 2বোঝায়, স্ট্ডারকে বোঝায়, &(মূলত) "এর ঠিকানা" এবং সম্পূর্ণ কমান্ড স্নিপেটের অর্থ "স্ট্ডার আউটপুটকে স্টাডআউট স্ট্রিমে পুনর্নির্দেশ করা"।
    • আপনি যদি লগ ফাইলটি প্রতিস্থাপনের পরিবর্তে সংযুক্ত করতে চান তবে আপনি পরিবর্তে ব্যবহার করতে পারেন >>। স্ট্যাডারকে একই জায়গায় পুনঃনির্দেশ করার পদ্ধতিটি একই রয়েছে।
    • আপনি স্টাডাউট এবং স্টাডার ব্যবহার করে বিভিন্ন জায়গায় প্রেরণ করতে পারেন 1> stdout_file 2> stderr_file। এছাড়াও আপনি ব্যবহার করতে পারেন >>পরিবর্তে >যে কমান্ডে পরিবর্তে সংযোজন প্রতিস্থাপন দ্বারা তা করার।

শেল ভেরিয়েবল / বিশেষ চিহ্ন:

  • ~ - এটি বর্তমান ব্যবহারকারীর হোম ডিরেক্টরি জন্য সংক্ষিপ্তরূপে এবং পরবর্তী বিটের অংশ গঠন করে।

শেল-স্তরের অবস্থানগুলি:

  • ~/offbkp01.log- বর্তমান ব্যবহারকারীর হোম ডিরেক্টরি ডিরেক্টরিতে ফাইলটি অফবাইকপি ०১.লগ রয়েছে। পুনর্নির্দেশের কারণে আরএসসিএনসি কমান্ডের আউটপুটটি এখানে রাখা হবে >

সারসংক্ষেপ:

সংক্ষেপে, এই আদেশটি করবে:

  • সমস্ত নিয়মিত ফাইল, ডিরেক্টরি, সিমলিঙ্কস, বিশেষ ফাইল এবং ডিভাইস ফাইলগুলি অনুলিপি করুন
  • পাশাপাশি বেশিরভাগ ক্ষেত্রে, সমস্ত কিছু না হলেও গুরুত্বপূর্ণ ফাইল বৈশিষ্ট্য ,
  • থেকে /srv/bkp01 ,
  • থেকে /srv/offbk2/bkp01 ,
  • এবং এটি নীচের শর্তাবলী সহ যা কিছু নেই/srv/offbk2//srv/bkp01 তার মধ্যে মুছে ফেলবে :

    • যদি একটি নিয়মিত ফাইল, ডিরেক্টরি অথবা সিমবলিক লিঙ্ক (?) টি পরিবর্তনের সময় উপর /srv/offbk2/ যে নতুন হল তার পরিবর্তন সময় চেয়ে /srv/bkp01, এটি আপডেট করা হইনি , যদি উভয় আইটেম এখনও একই ধরনের (নিয়মিত ফাইল, ডিরেক্টরি অথবা সিমবলিক লিঙ্ক (? ))।
  • অতিরিক্তভাবে, আরএসসিএনসি এটি কী করছে (বিশেষত, কোন ফাইলগুলি স্থানান্তরিত হচ্ছে এবং একটি চূড়ান্ত সারাংশ ) সেগুলি সম্পর্কে কিছু তথ্য মুদ্রণ করবে , যা শেলটি ফাইলটিতে লিখবে~/offbkp01.log । লগ ফাইলটি ইতিমধ্যে উপস্থিত না থাকলে নতুনভাবে তৈরি করা হবে এবং এটি ইতিমধ্যে উপস্থিত থাকলে ওভাররাইট করা হবে।


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


উত্স: rsync সঙ্গে কাজ এবং তার পড়ার সময় প্রচুর মনুষ্যসৃষ্ট পৃষ্ঠা


8
এটি একটি চিত্তাকর্ষক প্রথম পোস্ট। আশা করি আপনি আটকে থাকবেন!
টেরডন

আমি দ্বিতীয় @ তারডন .. ধিক! সে আগুনে আছে ভাল কাজ জারি রাখ বন্ধু। এটি সত্যই একটি চিত্তাকর্ষক উত্তর।
আজকার এম

উত্তরটি "শার্লক হোমস" এর মতো বলে মনে হচ্ছে, আমি আপনার ব্যাখ্যা শৈলী পছন্দ করি ..
রাহুল পাতিল

9

ম্যানুয়াল থেকে:

--মুছে ফেলা

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

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

উত্স ডিরেক্টরি:

1.txt
2.txt
3.txt

গন্তব্য ডিরেক্টরি:

4.txt

4.txt আরএসসিএনসি এর পরে যাবে এবং 1.txt, 2.txt এবং 3.txt গন্তব্যস্থলে থাকবে।


অন্যান্য বিষয় সম্পর্কে:

uva
  • ফাইল আপডেট করুন
  • ক্রিয়াপদ: প্রতিধ্বনি ফলাফল টার্মিনাল (যেমন। এটি আপনার লগ ফাইলে পুনর্নির্দেশ তাই শেষ প্রশ্নের হ্যাঁ)
  • সংরক্ষণাগার: সংরক্ষণাগার মোড; সমান -rlptgoD (কোন-এইচ, -এ,-এক্স)


3

না, এটি কেবল bkp01ডিরেক্টরি থেকে বহিরাগত ফাইলগুলি মুছবে ।

এছাড়াও:

  • -u, --update- রিসিভারে নতুন যে ফাইলগুলি এড়িয়ে যান
  • -v, --verbose- ভার্বোসটি বাড়ান
  • -a, --archive- সংরক্ষণাগার মোড; সমান -rlptgoD (কোন-এইচ, -এ,-এক্স)

rsync -uva --delete /srv/bkp01 /srv/offbk2/কমান্ডের আউটপুটটি আপনার টার্মিনালে মুদ্রিত হওয়ার পরিবর্তে পুনঃনির্দেশ অপারেটর ( )~/offbkp01.log ব্যবহার করে ফাইলটিতে প্রেরণ করা হয় । ফাইলটি উপস্থিত না থাকলে এটি তৈরি করা হবে। যদি ফাইলটি বিদ্যমান থাকে তবে এটি পুরানো সামগ্রী মুছে ফেলা হবে।>

দেখুন man rsyncআরও তথ্যের জন্য।


3
এটি থেকে কোনও কিছুই মুছবে না bkp01। এটি গন্তব্য থেকে কেবল বহিরাগত ফাইলগুলি - যেমন উত্সে নেই এমনগুলি মুছে দেয়।
ম্যাট নর্ডহফ

কোনও ফাইল bkp01 থেকে মুছে ফেলা হবে না।
জাভিয়ার জে

1
rsync 

রিমোট ফাইল কপি - স্থানীয় ডিস্ক, ডিরেক্টরি বা কোনও নেটওয়ার্ক জুড়ে ফাইল ট্রি সিঙ্ক্রোনাইজ করুন।

-u update 

-v verbose

-a archive


--delete --> delete

এখানে এটি অফবকি 2-র মধ্যে ফাইলগুলি মুছবে

তারপরে ফলাফলের আউটপুট (সাফল্য বা না) সেই লগ ফাইলে পুনর্নির্দেশ করা হবে।


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