টার: পূর্ববর্তী ত্রুটির কারণে ব্যর্থতার স্থিতি সহ প্রস্থান করা


78

আমি একটি ছোট স্ক্রিপ্ট লিখেছি যা ডিরেক্টরি + ফাইলগুলির একটি তালিকা টিয়ার এবং সংকুচিত করে।

স্ক্রিপ্টটি সফলভাবে চলতে দেখা যায়, এতে স্ক্রিপ্টটি চালানোর পরে একটি ব্যবহারযোগ্য .tar.gz ফাইল তৈরি করা হয়।

তবে, স্ক্রিপ্টটি শেষ হওয়ার পরে আমি এই বিরক্তিকর বার্তাটি পেয়েছি:

টার: পূর্ববর্তী ত্রুটির কারণে ব্যর্থতার স্থিতি সহ প্রস্থান করা

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

এই ত্রুটি / সতর্কতা বার্তাটি উত্পন্ন হওয়ার সম্ভাব্য কারণগুলি কী - এবং আমি কী নিরাপদে এটিকে উপেক্ষা করতে পারি ?. যদি আমি এটিকে উপেক্ষা করতে না পারি তবে ত্রুটিটি সনাক্ত ও সমাধানের পদক্ষেপগুলি কী?

আমি উবুন্টু 10.0.4 এ চলছে

উত্তর:


100

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


8
পরামর্শের জন্য +1 (আমি আগে 'ভার্বোস' বিকল্পটি ব্যবহার করছিলাম)। আমি খুঁজে পেয়েছি যে ফাইলগুলির মধ্যে কমপক্ষে একটিতে অনুমতি সংক্রান্ত সমস্যা রয়েছে। কমপক্ষে এখন আমি জানি কীভাবে এটি সমাধান করা যায়। অনেক ধন্যবাদ
মরফিয়াস

হ্যাঁ sudo ব্যবহার করে সমস্যাটি স্থির হয়ে গেল
ঝাঁকুনি দেওয়া হয়েছে

-v পতাকাটি খনন করা দুর্দান্ত পরামর্শ এবং আমার সমস্যা সমাধানে আমাকে সহায়তা করেছে। '
ভার্বোজ'

22

সমস্যাটি হল আর্গুমেন্ট, fযুক্তিটি ফাইলের নাম হিসাবে পরবর্তী হিসাবে নেয়, সুতরাং এটি অবশ্যই যুক্তির শেষ হওয়া উচিত

tar cvzf output.tgz folder

অথবা

tar -cvzf output.tgz folder

একই এবং কোনও ত্রুটি নেই।


আমার সমস্যা সমাধান করুন। আমি টার-জেসভিএফপি ত্রুটি দেওয়ার চেষ্টা করছিলাম তবে যখন টার-জক্সভিপিএফ চেষ্টা করা হয়েছিল তখন সব ঠিক আছে। ধন্যবাদ।
মিয়া আসবাত আহমাদ

6

কখনও কখনও লগফাইলের মতো ব্যাকআপের সময় পরিবর্তিত হতে পারে এমন ফাইলগুলির ব্যাক আপ করা, আপনি টার-বিকল্প '--ignore-ব্যর্থ-পঠন' (আমি দেবিয়ান লিনাক্সে আছি, ননু টানু সম্পর্কে নিশ্চিত নই) ব্যবহার করতে পারেন।

স্ট্যান্ডার্ড আউটপুট এবং ত্রুটি 2 টি পৃথক ফাইলে এমন কিছু দিয়ে পুনঃনির্দেশ করা যায়:

LOGDIR='/var/log/mylogdir' 
LOG=${LOGDIR}/backup.log 
ERRLOG=${LOGDIR}/backup.error.log 
DATE=$(date +%Y-%m-%d)
HOSTNAME=$(hostname)
DATA_DIRS='/etc /home /root'

tar --ignore-failed-read -f ${BACKUP_DIR}/${HOSTNAME}-${DATE}.tgz -cvz ${DATA_DIRS} > $LOG 2> $ERRLOG

আমি এটি সাধারণত নিরাপদ বলে মনে করি, তবে দয়া করে সতর্ক থাকুন যদিও ট্যারা বন্ধ হবে না ...


5

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

tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /

যে ত্রুটিগুলিতে উল্লেখ করা হচ্ছে tar: Exiting with failure status due to previous errorsসেগুলি -v বিকল্পটি বন্ধ করে চিহ্নিত করা যেতে পারে। পর্যালোচনার পরে ত্রুটি মত ডিরেক্টরি থেকে এসেছিলেন /runএবং /sys

এই ডিরেক্টরিগুলি বাদ দিয়ে, এটি ঠিক কাজ করে। আশা করি এটি একই সমস্যা সহ যে কাউকে সহায়তা করবে।


3

আমারও একই সমস্যা ছিল। আমি যা করেছি তা হ'ল কমান্ড থেকে ড্যাশ ("-") অপসারণ করা।

পরিবর্তে এটি টাইপ করা

tar -cvfz output.tar.gz ফোল্ডার /

এটি টাইপ করার চেষ্টা করুন

tar cvfz output.tar.gz ফোল্ডার /

আমার ক্ষেত্রে ড্যাশ কেন সমস্যা সৃষ্টি করছিল তা সম্পর্কে আমি অসচেতন তবে কমপক্ষে এটি কার্যকর হয়েছিল।


6
আপনি সম্ভবত এটি জিএনইউ টার দিয়ে পরীক্ষা করেছেন। আপনার বিভ্রান্তি এ থেকে আসে যে এটি দুটি পৃথক শৈলীর বিকল্পগুলি গ্রহণ করে - ড্যাশ ছাড়াই "পুরানো-শৈলী" টার বিকল্পগুলি এবং ড্যাশ সহ "স্ট্যান্ডার্ড ইউনিক্স" বিকল্পগুলি। ড্যাশযুক্ত বিকল্পগুলির বিকল্পটি অনুসরণ করতে কোনও বিকল্পের একটি যুক্তি প্রয়োজন। সুতরাং এই ক্ষেত্রে পক্ষে যুক্তি -fহওয়া উচিত output.tar.gzএবং এর মধ্যে থাকা উচিত নয় z। ছাড়া বিকল্প পুনরায় ক্রম এটি সঠিকভাবে হবে: tar -cvf output.tar.gz -z folder/। পুরাতন স্টাইলটি এক জায়গায় সমস্ত অপশন আশা করে এবং সমস্ত আর্গুমেন্ট অনুসরণ করে।
পাবউক


@ পাবউক এই মন্তব্যটি নিজেই একটি উত্তর হওয়ার উপযুক্ত বলে মনে হয়েছিল। দয়া করে এই প্রশ্নের উত্তর হিসাবে সেই মন্তব্যটির বিষয়বস্তু যুক্ত করুন যাতে creditণ জমা হয় সেখানে .ণ।
cwallenpoole

আমারও সমস্যা ছিল, তবে এটি ফাইল -v নামের একটি ফাইল ছিল সুতরাং স্পষ্টতই তার কিছু ফাইল রয়েছে যাতে এটি কোন ফাইলগুলি ব্যাকআপ করতে পারে তার সাথে সম্পর্কিত কিছু সমস্যা রয়েছে ... এটি কোনও সমস্যা হবে না। আমার কাজকর্ম যেহেতু আরএম এবং এমভি কাজ করবে না, একটি ফাইল ম্যানেজার ব্যবহার করা। সুতরাং দৃশ্যত এমভি এবং আরএম খুব বগি। আমি mv '-v' v এবং rm '-v' চেষ্টা করেছি তবে ত্রুটি বার্তা পেয়েছি। টার উল্লেখ করেছে যে এটি টার ফাইলটি স্থিত করতে পারে না। -cfjv ব্যবহার করছিলাম
জিম মাইকেলস

1

আপনি আগের উত্তরটি ভুল বুঝেছেন। সমস্যাটি নয় -, এটিই fআপনার যুক্তির তালিকায় রয়েছে।

tar cvfz target.tgz <files>

"Z" নামে একটি সংরক্ষণাগার তৈরি করার চেষ্টা করবে, কারণ এটি পরবর্তী পাঠ্য f। ত্রুটি বার্তাটি হ'ল কারণ তার সংরক্ষণাগারটিতে "z" যুক্ত করতে "টার্গেট.gz" খুঁজে পাওয়া যায় না।

tar cvzf target.tgz <files>

টার্গেট.টিজিজেড সঠিকভাবে তৈরি করবে এবং এতে ফাইল যুক্ত করবে। কারণ যুক্তিটির পরে টার্গেট.টিজিজেড হ'ল প্রথম পাঠ্য f


এটি "বিভ্রান্ত" উত্তরে মন্তব্য হিসাবে যুক্ত করা উচিত। দুর্ভাগ্যক্রমে আপনি খ্যাতি 50 পয়েন্ট অর্জন করার পরে এই জাতীয় মন্তব্য যুক্ত করার অনুমতি দেওয়া হবে। বিষয়টিকে: আপনি এটি পরীক্ষা করেছেন? আমি এটি GNU টার 1.26 দিয়ে পরীক্ষা করেছি এবং জ্যাকের জবাবে বর্ণিত ড্যাশ সহ এবং এর বাইরে বিভিন্ন রূপগুলি সত্যই আলাদা। উত্তরে যেমন লেখা আছে তেমন আচরণ করে।
পাবউক

0

সাধারণত আপনি এই বার্তা উপেক্ষা করতে পারেন। টার তৈরির সময় অন্তর্নিহিত ডিরেক্টরি ট্রিতে যদি কোনও পরিবর্তন (যেমন ফাইল মোছা / সৃষ্টি / পরিবর্তনগুলি) থাকে তবে তা সেই বার্তাটি ফেলে দেবে। এছাড়াও যদি ডিভাইস নোড, ফিফোস ইত্যাদির মতো বিশেষ ফাইল থাকে তবে তারা সেই সতর্কতার কারণ ঘটবে।

আপনি কি নিশ্চিত যে কোনও অপরাধী ফাইল দেখতে পাচ্ছেন না? দিয়ে চেষ্টা করুনtar cvfz yourtarball.tgz /your/path


0

আমার প্রাপ্ত ফাইলটি ছাড়াই আমার অনুরূপ সমস্যা হয়েছিল। দেখা যাচ্ছে যে রুটের মালিকানাধীন সংরক্ষণাগারটিতে আমার কাছে ফাইলগুলি লেখার অনুমতি নেই। Sudo ব্যবহার করে এটি স্থির করা হয়েছে।


0

নতুনদের জন্য এই ত্রুটিগুলি পাওয়ার অন্যতম কারণ হ'ল
তারা যে ডিরেক্টরিতে ফাইল উপস্থিত রয়েছে সেখানে অপারেশন করতে ভুলে যায়
সেই জায়গায় যান এবং কমান্ডটি সম্পাদন করুন 
আমার ফাইলগুলি ডেস্কটপে রয়েছে 
~ / ডেস্কটপ # টিআর - সিএফ সম্পন্ন c
যেখানে xyz এবং abc ফাইল রয়েছে এবং আমরা সেই ফাইলগুলি do.tar এ সংরক্ষণ করছি
যদি আমরা গিয়ে অন্য স্থানে কমান্ডটি সম্পাদন করি তবে আমরা ত্রুটিটি পেয়ে যাব 

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