Rsync ত্রুটি 23: আমি কি বলতে পারি কোন ফাইলগুলি স্থানান্তরিত হয়নি?


32

আমি sudo rsync -va --progressএকটি বাহ্যিক ড্রাইভের মূল থেকে অন্য বাহ্যিক ড্রাইভের ফোল্ডারে চলে এসেছি । কারণটি হ'ল সোর্স ড্রাইভে একটি ত্রুটিপূর্ণ এনটিএফএস রয়েছে এবং এনটিএফএস মেরামত করার জন্য আমার উইন্ডোজ পিসিতে অ্যাক্সেস নেই।

10 ঘন্টা পরে এটি বলেছিল:

sent 608725204596 bytes  received 19365712 bytes  15902210.53 bytes/sec
total size is 608586212274  speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]

আমি পুরো টার্মিনাল আউটপুট সংরক্ষণ করেছি। শুরুতে, কয়েকशे Input/output error (5)ফাইলের জন্য আমার আসলে মোট মোট 2 জিবি প্রয়োজন হয় না। ওএসএক্স ফাইন্ডার "ডিস্কের ব্যবহার" আমাকে উত্সটি 617 বিলিয়ন বাইট বলে, উপরের রিপোর্টে 608 নয়।

প্রশ্নাবলী:

  1. ভার্বোজ আউটপুট (ফাইলের তালিকা তৈরি করা) এর প্রথম অংশটি অবশ্যই Input/output error (5)প্রতিটি ফাইলের জন্য বলেছে যা অনুলিপি করা হবে না?
  2. তার code 23মানে কি এই ফাইলগুলি বাদে সমস্ত ফাইল Input/output error (5)সফলভাবে অনুলিপি করা হয়েছিল?

1
সম্ভবত সহায়ক: rsync ত্রুটি বার্তাগুলি "আরএসসিএনসি:" দিয়ে শুরু হতে দেখা যায়, সুতরাং grep '^rsync: ' outputএটি সহায়ক হতে পারে।
ব্যারিকার্টার

উত্তর:


19

23 শুধুমাত্র মানে (ম্যান পৃষ্ঠা থেকে):

23 ত্রুটির কারণে আংশিক স্থানান্তর

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

যদি আপনার উত্সটি পরিবর্তন না হয়ে থাকে তবে আপনি বাস্তবে স্থানান্তর না করে এবার কী স্থানান্তরিত হবে তা দেখতে আপনি rsyncআবার চালাতে পারেন -n

বাইট পার্থক্য সম্পর্কে, rsyncআপনাকে ফাইলগুলির আকার দেয় (সেগুলি থেকে কতগুলি ডেটা পড়া যায়)। আপনি কি নিশ্চিত Finderযে পরিবর্তে ডিস্কের ব্যবহার আপনাকে জানান না?

এছাড়াও নোট করুন যে এনটিএফএস বিকল্প স্ট্রিম বা ফাইলগুলির বৈশিষ্ট্যগুলিতে ডেটা সঞ্চয় করতে পারে এবং rsyncসাধারণত সেগুলি স্থানান্তর করে না (সচেতন নয়) (এবং এটির জন্য প্রচুর অ্যাকাউন্টও তৈরি করতে পারে)।


সুতরাং আপনি কি বলছেন যে স্থানান্তরিত হয়নি এমন সমস্ত ডেটা (যতই দূষিত হোক না কেন) শুরুতে তালিকাভুক্ত করা হয়েছিল Input/output error (5)?
themirror

বাইট পার্থক্য সম্পর্কে: হ্যাঁ এটি সঠিক। আমি যদিও বিভ্রান্ত হলাম কেন আরএসসিএনএর রিপোর্ট এবং ফাইন্ডারের "ডিস্ক ব্যবহার" এর মধ্যে পার্থক্য 9 বিলিয়ন বাইট তবে আমি কেবল মাত্র 2-3 বিলিয়ন বাইট ফাইল সনাক্ত করতে পারি যা বলেছিল Input/output error (5)। তুমি কি ব্যাখ্যা করতে পারো?
themirror

1
@ থিমিরর, একটি 1-বাইট ফাইলের এটি সংরক্ষণের জন্য ডিস্কে বরাদ্দকৃত কয়েক কিলো-বাইটের প্রয়োজন হবে ( echo > file; du -k fileউত্স ফাইল সিস্টেমে কতটা দেখার চেষ্টা করুন তবে এনটিএফএসে এটি সাধারণত 4 কে)। rsyncআপনাকে জানিয়ে দেবে যে আকারটি 1তবে ফাইন্ডার আপনাকে এই ফাইলটির জন্য 4096 বলতে পারে।
স্টাফেন চেজেলাস

@ থিমিরার, আপনার প্রথম মন্তব্যটি প্রকাশ করুন, আমি বলছি যে সমস্ত কিছুর জন্য (ফাইলের সামগ্রী, বিকল্প স্ট্রিমগুলি সম্পর্কে আমার সম্পাদনা দেখুন) যা স্থানান্তরিত হতে পারে না, আপনি একটি ত্রুটি পাবেন তবে আপনি যদি একটি ডিরেক্টরি / পড়তে না পারেন তবে foo , তাহলে স্পষ্টতই /foo/barএবং /foo/bar/bazস্থানান্তরিত হবে না।
স্টাফেন চেজেলাস

17

আপনি rsync এর -qপতাকা ব্যবহার করে rsync এর অ-ত্রুটিযুক্ত আউটপুটটি নিঃশব্দ করতে পারেন ।

-q, --quiet                 suppress non-error messages

আপনি যদি -qপতাকাটি দিয়ে আরএসসিএনটি চালান , তবে সম্ভবত আরএসআইএনসি ব্যর্থ হবে, তবে কমপক্ষে এবার আপনার সমস্যার কারণ হতে পারে এমন কোনও ত্রুটি বার্তা ফাইল ট্রান্সফার স্থিতি বার্তাগুলির লাইন এবং লাইনের নীচে দাফন করা হবে না।


2

পুনরায়: ত্রুটি 23-- এই ত্রুটি থাকার সবচেয়ে সাধারণ কারণটি হল, আরএসসিএনসি উত্সটিতে একটি ছোটখাটো টাইপ করা। আপনার উত্স কমান্ডটি সন্ধান করুন এবং নিশ্চিত করুন যে সমস্ত কিছু এল এর বিপরীতে রয়েছে কিনা এবং অতিরিক্ত স্থান বা 1-এল সমস্যার মতো বোকা সূক্ষ্ম জিনিসগুলি সন্ধান করুন।


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