আমার কাছে এই ব্যাশ স্ক্রিপ্টে খুব সাধারণ লাইন রয়েছে যা সফলভাবে সম্পাদন করে (অর্থাত্ _data.tar
ফাইলটি উত্পাদন করা ), কেবলমাত্র এটি সাব-ডিরেক্টরিগুলি বাদ দেয় না কেবল এটি --exclude
বিকল্পটির মাধ্যমে বাদ দেওয়া হয় :
/bin/tar -cf /home/_data.tar --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' /data
পরিবর্তে, এটি _data.tar
এমন একটি ফাইল তৈরি করে যা উপ-ডিরেক্টরিগুলিকে আমি বাদ দিতে চাইতাম এমন ফাইলগুলি সহ / ডেটার নীচে সমস্ত কিছু ধারণ করে।
কোন ধারণা কেন? এবং কিভাবে এটি ঠিক করবেন?
আপডেট আমি নীচের প্রথম উত্তরে প্রদত্ত লিঙ্কটির উপর ভিত্তি করে আমার পর্যবেক্ষণগুলি বাস্তবায়ন করেছি (শীর্ষ স্তরের দির প্রথমে, শেষ বাদে কোনও সাদা স্থান নয়):
/bin/tar -cf /home/_data.tar /data --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*'
তবে তাতে কোন লাভ হয়নি। সমস্ত "বাদ" সাব-ডিরেক্টরিগুলি ফলাফল _data.tar
ফাইলটিতে উপস্থিত রয়েছে ।
এই বিস্ময়কর। এটি বর্তমান টারে কোনও বাগ (জিএনইউ ট্যোর ১.২৩, একটি সেন্টোস .2.২, লিনাক্স ২..3.৩২ তে) বা হোয়াইটস্পেস এবং অন্যান্য সহজেই-মিস-টাইপগুলিতে টারের "চরম সংবেদনশীলতা", আমি এটিকে ত্রুটি হিসাবে বিবেচনা করি। আপাতত
এটি মারাত্মক : আমি নীচে প্রস্তাবিত অন্তর্দৃষ্টি চেষ্টা করেছি (কোনও পিছনে নেই /*
) এবং এটি এখনও প্রোডাকশন স্ক্রিপ্টে কাজ করে না:
/bin/tar -cf /home/_data.tar /data --exclude='/data/sub1' --exclude='/data/sub2' --exclude='/data/sub3' --exclude='/data/sub4'
আমি যা চেষ্টা করেছি এবং @ রিচার্ড পেরিন চেষ্টা করেছিলেন তার মধ্যে আমি কোন পার্থক্য দেখতে পাচ্ছি না, 1 এর পরিবর্তে কোট এবং 2 স্পেস ব্যতীত আমি এই চেষ্টাটি করতে যাচ্ছি (ডিরেক্টরিটি ব্যাক করার জন্য রাতের স্ক্রিপ্টের জন্য অপেক্ষা করতে হবে) আপ বিশাল) এবং ফিরে রিপোর্ট।
/bin/tar -cf /home/_data.tar /data --exclude=/data/sub1 --exclude=/data/sub2 --exclude=/data/sub3 --exclude=/data/sub4
আমি ভাবতে শুরু করি যে এই সমস্ত tar --exclude
সংবেদনশীলতাগুলি আমার পরিবেশের কিছু নয়, তবে এটি কী হতে পারে?
এটা কাজ করেছে! শেষ প্রকরণটি চেষ্টা করেছে ( --exclude
পরীক্ষাগত কাজের মধ্যে ডাবল-স্পেসের পরিবর্তে কোনও একক-কোটস এবং একক স্থান নেই ) tested অদ্ভুত কিন্তু গ্রহণ।
অবিশ্বাস্য! দেখা যাচ্ছে যে tar
শীর্ষস্থানীয় dir কমান্ড লাইনে শেষ হলে কেবল (1.15.1) এর একটি পুরানো সংস্করণ বাদ পড়বে । এটি কীভাবে 1.23 সংস্করণটির প্রয়োজন তার ঠিক বিপরীত। অবগতির জন্য।