সম্প্রতি আমার প্রচুর পরিমাণে ফাইল মুছে ফেলতে হবে (1 মিলিয়নেরও বেশি) এবং আমি এটি করে পড়েছি:
rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source
এটি করার একটি অন্যতম অনুকূল উপায় ছিল এবং আমি এটিকে আরও দ্রুততর করে তুলতে পারি rm -rf
।
আমি এই বিষয়ে বিশেষজ্ঞ নই, তবে আমার সিএসসিএন পারফরম্যান্সের কারণটি বোঝার সাথে সাথে ফাইলগুলি তালিকাভুক্ত করার পদ্ধতিতে কিছু করা দরকার (ফিফোর পরিবর্তে আমি মনে করি লিফো)। এখন, সমস্যাটি হ'ল, আমাকেও কার্যকর পদ্ধতিতে প্রচুর পরিমাণে ফাইল স্থানান্তর করতে হবে। কিছুটা অনুসন্ধান করার পরে, আমি এটি পেয়েছি:
rsync -av --ignore-existing --remove-source-files ~/source ~/destination
এই সব সরানো মুছে ফেলে যদিও ফাইল মধ্যে ~/source
, ডিরেক্টরি সেখানে রয়ে গেছে। যেহেতু আমার কাছে "রাউন্ড-রবিন" -র মতো ডিরেক্টরি কাঠামো রয়েছে এটির সংখ্যার files/directories
খুব কাছে 1, সুতরাং ডিরেক্টরিটি সম্পূর্ণরূপে ছাড়ানোর জন্য আমি আবার প্রথম কমান্ড চালাতে বাধ্য হচ্ছি:
rsync -av --ignore-existing --remove-source-files ~/source ~/destination && \
rsync -av --delete `mktemp -d`/ ~/source && rmdir ~/source
একটি সরল mv
কার্যত তাত্ক্ষণিকভাবে শেষ হবে, তবে আমার ~/destination
ডিরেক্টরিতে এমন ফাইল রয়েছে যা রাখা উচিত, তাই mv
কোনও বিকল্প নয়। আমি দেখেছি --prune-empty-dirs
এবং --force
rsync বিকল্প, কিন্তু কেউই কাজ বলে মনে হচ্ছে আমি আশা:
--force force deletion of directories even if not empty
--prune-empty-dirs prune empty directory chains from the file-list
--remove-source-files sender removes synchronized files (non-dirs)
এক সাথে এক সাথে আর আর সিএনসি দিয়ে চাল নকল করার উপায় আছে কি ?