rsync এবং প্রতীকী লিঙ্কগুলি


69

আমি কোনও cronকাজ কার্যকর করার জন্য রাত্রে আমার হোম ডিরেক্টরিটি একটি বাহ্যিক ড্রাইভে ব্যাকআপ করতে চাই rsync। আমি rsyncপ্রতীকী লিঙ্ক পতাকাগুলির সঠিক আচরণ সম্পর্কে অনিশ্চিত ।

  1. rsyncএর -aপতাকাটিতে পতাকাটি অন্তর্ভুক্ত থাকে -l(অর্থাত "প্রতিলিপি হিসাবে অনুলিপি করুন")। এর অর্থ কি এই লিঙ্কটি অনুলিপি করবে বা এটি লিঙ্কটি অনুসরণ করবে এবং লিঙ্ক-টু ডিরেক্টরিতে থাকা সমস্ত কিছু অনুলিপি করবে? আমি এড়াতে চাই কারণ আমার কাছে মিডিয়া ফাইলগুলির পূর্ণ ডিরেক্টরিগুলির লিঙ্ক রয়েছে যাতে শত শত গিগাবাইটের অনুলিপি জড়িত থাকতে পারে যেগুলি আমার ব্যাক আপ করার দরকার নেই।
  2. ভয় (তবে নির্দিষ্ট নয়) যা rsync -aপরিবর্তে আমি --no-linksফ্ল্যাগটি যুক্ত করেছিলাম media সমস্ত মিডিয়া ফাইলগুলি অনুলিপি করবে । এটি আমি চাই আচরণ বলে মনে হচ্ছে না। এটি কেবল সমস্যাযুক্ত যে কোনও লিঙ্ক অনুলিপি করা উপেক্ষা করে কারণ আমার লিঙ্কগুলি অনুলিপি করতে চান (যেমন বিভিন্ন প্রকল্প ডিরেক্টরি থেকে সাধারণ হেডার ফাইলগুলির লিঙ্ক))
  3. উপরের # 1 ধরে ধরে ( --no-linksপতাকা ছাড়াই ) আমি যা চাই তা হ'ল এটি লিঙ্ক-টু ফাইলগুলি অনুলিপি না করে কেবল লিঙ্কটি অনুলিপি করে, লিংকগুলি ব্যাকআপ হওয়ার পরে কি সেগুলি ভেঙে যাবে? উদাহরণস্বরূপ আমি rsyncডিরেক্টরি ডিরেক্টরি /home/me/projects/miscহতে পারে /media/extdrive/backup/home/me/projects/misc। এই ক্ষেত্রে আমি ধরে নিচ্ছি যে rsyncযথেষ্ট স্মার্ট নয় এবং এটি সম্পর্কিত ডিরেক্টরি পরিবর্তনের জন্য সিমলিংকের সামগ্রীগুলিও সংশোধন করার চেষ্টা করে না। এটা কি সঠিক? এটি ঠিক আছে, লিংকগুলি এতক্ষণে ব্যাকআপ ডিরেক্টরিগুলিতে ভেঙে ফেলা হয়েছে কিনা তা ঠিক নেই যতক্ষণ না তারা ঠিক হয়ে যায় এবং কাজ করার সময় যদি তাদের পুনরুদ্ধার করার প্রয়োজন হয় তখন কাজ করে।

3
এল-ফ্ল্যাগটি সম্ভবত আপনি চান। সেন্টোস লিনাক্সের আরএসসিএনএইচ ম্যান পৃষ্ঠা থেকে: "-এল, --কপি-লিঙ্কগুলি সিমলিংকে আলাদা ফাইল / ডিরে রূপান্তর করে।" আপনার উদ্দেশ্য নেই এমন কোনও ডেটা ওভাররাইট না করে তা নিশ্চিত করার জন্য আমি কয়েকটি নমুনা ডিরেক্টরি এবং লিঙ্কগুলির সাথে এটি পরীক্ষার পরামর্শ দিচ্ছি। সম্ভাব্য ডেটা হ্রাস সম্পর্কে সতর্কতা অন্তর্ভুক্ত সম্পাদিত। ;)
মিক টি

উত্তর:


90
  1. "সিমলিঙ্কগুলি অনুলিপি হিসাবে অনুলিপি করুন" এর অর্থ হ'ল ঠিক কী: আরএসসিএনচ যদি উত্স ডিরেক্টরিতে একটি সিমিলিংক দেখে তবে এটি গন্তব্যটিতে একটি অভিন্ন সিমিলিংক তৈরি করবে। বেশি কিছু না.

    (ম্যানুয়াল পৃষ্ঠায় কয়েকটি লাইন, একটি ভিন্ন বিকল্প, --copy-linksবিপরীত আচরণের বর্ণনা দেয় (সর্বদা ডেটা অনুলিপি করে থাকে) যা আপনি অনাকাঙ্ক্ষিত হিসাবে বর্ণনা করেছেন))

    "সিম্বলিক লিঙ্কগুলি" বিভাগটিও দেখুন:

    যদি --linksনির্দিষ্ট করা থাকে, তবে গন্তব্যস্থলে একই লক্ষ্য নিয়ে সিমলিংকগুলি পুনরায় তৈরি করা হয়।

  2. এটি আপনার চাওয়া আচরণ নয় কারণ আপনি যা --linksকরেন তা ভুল ব্যাখ্যা করে এবং তাই ভুল আচরণের জন্য জিজ্ঞাসা করছেন (উত্তর # 1 দেখুন)।

  3. ডিফল্টরূপে এটি গন্তব্যটিকে হুবহু অনুলিপি করে

    এটি হল, যদি লিঙ্কটি কোনও পরম পথের দিকে নির্দেশ করে (উদাহরণস্বরূপ /home/me/projects), তবে এটি একই পথের দিকে ইশারা করে চলবে; এটি ভাঙবে না , এটি কেবলমাত্র আপনার ব্যাকআপের ফাইলের চেয়ে আপনার বাড়ির ডিরেক্টরিতে থাকা কোনও ফাইলের দিকে ইঙ্গিত করবে।

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

    দুর্ভাগ্যক্রমে তাদের নতুন বেসের জন্য নিখুঁত প্রতীকগুলি অনুবাদ করার কোনও বিকল্প বলে মনে হচ্ছে না (কেবলমাত্র তাদের সম্পূর্ণরূপে ভাঙ্গার বিকল্প)। সমস্যা এড়াতে, আপনার বিদ্যমান সিমলিংকগুলি আপেক্ষিকগুলিতে পরিবর্তন করা উচিত (যা সাধারণত idea HOME এর মধ্যে লিঙ্কগুলির জন্য একটি ভাল ধারণা)।


2
Ummm তাই মধ্যে পার্থক্য কি --copy-linksএবং --links?
আলেকজান্ডার মিলস

--copy-links= -L, এবং --links= -l। আমার উত্তরের ডকুমেন্টেশন থেকে বিবরণটি এখানে দেখুন: superuser.com/a/1388910/425838
গ্যাব্রিয়েল স্ট্যাপলস

12

@ গ্রাভিটির একটি দুর্দান্ত উত্তর রয়েছে, তবে ডকুমেন্টেশন থেকে কিছু প্রাসঙ্গিক তথ্যের স্ক্রিনশট এখানে। উদাহরণস্বরূপ, বিকল্পগুলি -lএবং -Lবিকল্পগুলির সঠিক শব্দটি এখানে দেওয়া হয়েছে , যা মনে হয় সবচেয়ে প্রাসঙ্গিক বলে মনে হচ্ছে:

এখানে চিত্র বর্ণনা লিখুন

উত্স: https://linux.die.net/man/1/rsync , বা man rsyncলিনাক্সের ম্যানুয়াল পৃষ্ঠাগুলি।

এছাড়াও মনে রাখবেন -a( --archive) বিকল্পটি অন্তর্ভুক্ত -lএটি মধ্যে বিকল্প, যা ভয়ঙ্কর, কারণ আমি সত্যিই ব্যবহার করার মত -lবিকল্প গন্তব্য উপর symlinks যেমন উৎস থেকে আমার symlinks সংরক্ষণে। ম্যান পেজগুলি থেকে:

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

দ্রষ্টব্য, আমার প্রিয় rsyncকমান্ড এবং নির্দেশাবলীর জন্য অনুলিপি, মিররিং সহ মোট অগ্রগতি দেখানো হচ্ছে ...

... শুকনো রান করা, স্টার্ডার লগিং করা এবং স্টাডআউট (পৃথক) ফাইলে ফাইল করা, স্ট্যাটাস দেখানো, একটি অন্তর্ভুক্ত পাথ ফাইল এবং একটি বাদ দেওয়া ফাইল ইত্যাদি ব্যবহার করে আমার সম্পূর্ণ উত্তর এখানে ২ য় বিভাগের অধীনে দেখুন "শিরোনাম -কমান্ড-লাইন " সরঞ্জাম (লিনাক্স, সাইগউইন সহ উইন্ডোজ) ": https://superuser.com/a/1464264/425838

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