আমি টার্মিনালটি একটি ড্রাইভ থেকে অন্য ড্রাইভে ফাইল অনুলিপি করতে ব্যবহার করেছি।
sudo mv -vi /location/to/drive1/ /location/to/drive2/
যাইহোক এটি হঠাৎ বন্ধ হয়ে গেছে, এটির মধ্যে কয়েক ঘন্টা সময় এবং কোনও ত্রুটি ছাড়াই ডিরেক্টরি তৈরি করার পরে।
এর সাথে আমার নিজের সমাধানটি প্রায়শই হ্যাশিং এবং তুলনার মিশ্রণ যা বেশিরভাগ সময় ব্যয়কারী ঝামেলা কারণ এখন কোন ইন্টারমিডিয়েট অনুলিপি থেকে পুনরুদ্ধার করতে হবে আসলে কোন ফাইলগুলি অনুপস্থিত রয়েছে (zsh এর জন্য খুব দীর্ঘ ওয়ান-লাইনার হিসাবে লেখা) নোট করুন এই স্ক্রিপ্টটি লিখিতভাবে ব্যাশে কাজ করবে না:
source_directory="/path/to/source_directory/";
target_directory="/path/to/target_directory/";
while read hash_and_file; do {
echo "${hash_and_file}" | read hash file;
echo "${file}" | sed "s/^/${source_directory}/g" | read copy_from;
echo "${copy_from}" | sed "s/${source_directory}/${target_directory}/g" | read copy_to;
mv -v "${copy_from}" "${copy_to}" | tee -a log;
rm -v "${copy_from}" | tee -a log; };
done <<<$(
comm -23 <( find ${source_directory} -type f -exec sha256sum "{}" \; |
sed "s: ${source_directory}: :g" | sort;
) <( find ${target_directory} -type f -exec sha256sum "{}" \; |
sed "s: ${target_directory}: :g" | sort; ) )
যদি নাম টার্গেট ডিরেক্টরি বা উত্স_ডাইরেক্টরি পথের অংশ হয় তবে এটি ত্রুটিযুক্ত moved এছাড়াও এটি শেষে ডিরেক্টরি উত্স হয় না।
বাধা এমভি থেকে কীভাবে পুনরুদ্ধার করা যায় তার একটি সর্বোত্তম অনুশীলন রয়েছে?
--delete-during receiver deletes during the transferএবং অন্যান্য দরকারী বিকল্প: --delete --delete-before --delete-delay --delete-after --delete-excluded। সুতরাং, হ্যাঁ,
mvআদেশের পুনরাবৃত্তি করা হচ্ছে না ? *মূল উত্সটি যদি কোনও ডিরেক্টরি হয় তবে সম্ভবত উত্স পথে সংযুক্ত।
rsync --delete*একটি বিপর্যয় ঘটবে ! এটি destবর্তমানে এমন জিনিসগুলিকে সরিয়ে ফেলবে srcযা পূর্ববর্তী প্রয়াসে সাফল্যের সাথে সরানো সমস্ত ফাইল এখন মুছে ফেলা হবে! আপনি সম্ভবত চিন্তা ছিল এর rsync --remove-source-filesযা আমি সম্মত হবে একটি ভাল বিকল্প হতে। (আরও 1 , আরও 2 )
rsync --deleteহবে শুধুমাত্র অপসারণ অন্যান্য ফাইল উৎস অংশ নয়। [Man rsync] () * থেকে ডেস্ট ডায়ার্স থেকে বহিরাগত ফাইলগুলি মুছুন *। বহির্মুখী অর্থ কী তা বুঝুন : সিঙ্ক হচ্ছে না। এবং হ্যাঁ, rsync এছাড়াও পরে তারা সঠিকভাবে প্রেরিত হয়েছে সোর্স ফাইল সরানোর জন্য একটি উপায় প্রদান করে।
cmpহ্যাশিংয়ের পরিবর্তে ব্যবহার করে। এটির নির্ভরতা রয়েছে এবংwhile readগিলস উল্লিখিত একই সমস্যাগুলি রয়েছে । এটি ধীর এবং ভার্জোজও। তবে এটি আরএসআইএনসি পদ্ধতির চেয়ে শীঘ্রই ডিস্ক-স্থানকে মুক্ত করে দেয় কারণ ফাইলগুলি (পুনরায়) চলমান অবস্থায় উত্স থেকে সরানো হয়েছে moved এটি সাহসীদের জন্য অনুপ্রেরণা হিসাবে কাজ করতে পারে।