আপস্টার্ট ত্রুটিগুলি কীভাবে নির্ধারণ করবেন?


8

আমার কাছে / etc / init এ একটি upstart conf ফাইল আছে যা আমি যদি নিজে নিজে এটির মতো শুরু করি তবে তা সূক্ষ্ম শুরু হয়:

sudo initctl start myconf

যদি আমি এটি sudo কমান্ড ব্যতীত চালিত করি তবে আমি ত্রুটির নাম = (আনসেট) ত্রুটি পেয়ে যা ব্যবহারকারীর সুবিধার কারণে, তবে যখন সিস্টেম বুটটিতে কাজটি শুরু করা হয় তখন আপস্টার্ট ডানদিকে লাথি মারলে সমস্যাটি হওয়া উচিত নয়? (কারণ এটি মূল দ্বারা চালিত হয়)।

লিপিটির বিষয়বস্তু হ'ল:

start on runlevel [2345]
stop on runlevel [^2345]

exec /spatial/server_init.sh

... যেখানে সার্ভার_আইনিট.শ একটি অজগর স্ক্রিপ্ট ভিত্তিক সার্ভার চালায়। আমি যখন শেলটিতে লগইন করার পরে ঠিক স্ক্রিপ্টের স্থিতি পরীক্ষা করি, তখন এটি স্টপ / ওয়েটিং বলে। আমি কনফ ফাইলটি "নেট-ডিভাইস-আপ-স্টার্ট" দিয়েও চেষ্টা করেছি তবে কিছুই পরিবর্তন হয়নি। আপস্টার্ট সিস্টেম লগ বা এর অনুরূপ কিছু দেখার কোনও উপায় আছে যা আমাকে সমস্যার ডিবাগ করতে সহায়তা করতে পারে।

ধন্যবাদ


কখনও কখনও যদি chdirআপনার আপস্টার্ট স্ক্রিপ্টটিতে থাকে এবং সেই দির উপস্থিত না থাকে তবে কোনও লগ লেখা হবে না এবং আপনি ক্রিপ্টিক বার্তাটি পেয়ে start: Job failed to start
যাবেন

উত্তর:


13

চেষ্টা করুন:

/var/log/upstart/JOBNAME.log

আপনি এটি ডিবাগ করার সময় আপনি এটি কোনও কার্যে রূপান্তর করতে বিবেচনা করতে পারেন।

স্থানিক-সূচনা শুরু করুন

কাজের

exec /spatial/server_init.sh

তারপরে কনসোল থেকে:

initctl নির্গমন স্থানিক-সূচনা
initctl স্থিতি স্থানিক-স্টার্ট

এটি একটি শট দেবে, ধন্যবাদ। আমি ধরে নিই এটি আসলে আপস্টার্ট নির্দিষ্ট সমস্যাগুলিকে আউটপুট করে; এটিও সিফ ফাইলগুলিতে সিনট্যাক্স ত্রুটি অন্তর্ভুক্ত করে?
U2ros

এখানেই স্টাডাউট / এআরআর পুনঃনির্দেশিত তাই এটি আরও ভাল ভার্বোস ছিল।
পেপেরকি

1

ঠিক আছে, একটি উপায় খুঁজে পেয়েছি তবে এটি কেবল তখনই কাজ করে যদি স্ক্রিপ্ট দ্বারা সম্পাদিত হওয়া প্রোগ্রামে ত্রুটি ঘটে থাকে (এবং যদি সেই প্রোগ্রামটি অবশ্যই ত্রুটির বার্তা দেয়) তবে আপস্টার্ট নিজেই নয়, তবে এই ক্ষেত্রে আমার এটির প্রয়োজন ছিল। আমি যা করেছি তা হ'ল প্রোগ্রামের আউটপুটটিকে এই জাতীয় লগ ফাইলে পুনর্নির্দেশ করা হয়েছিল:

exec /spatial/server_init.sh >> /spatial/ogc.log 2>&1

অন্য হিসাবে আমি জানতে পেরে আপনি আপস্টার্ট ভার্বোসিটি বাড়াতে পারেন তাই আমার যদি এটির দরকার হয় তবে আমি সেখান থেকে শুরু করব।


0
  1. আপস্টার্ট ডিরেক্টরিটি উপস্থিত রয়েছে তা পরীক্ষা করুন: / var / লগ / আপস্টার্ট (না হলে ডিরেক্টরিটি তৈরি করুন)
  2. আপনার আপস্টার্ট সংস্করণটি পরীক্ষা করুন: initctl সংস্করণ বা অ্যাপট -ক্যাশে নীতি আপস্টার্ট

    V1.4 এর আগে আপস্টার্টের সমস্ত সংস্করণের জন্য, কনসোলের জন্য ডিফল্ট মানটি কনসোল ছিল না । আপস্টার্ট 1.4 হিসাবে, ডিফল্ট মান কনসোল লগ

  3. আপনার উপরের দিকে কনসোল লগ যুক্ত করুন (স্ক্রিপ্ট পর্বের আগে)
  4. আপনার লগটি এখানে হবে: /var/log/upstart/"upstart-JOBNAME".log

উদাহরণ:

কনসোল লগ

লিপি

exec /spatial/server_init.sh

শেষ স্ক্রিপ্ট

কনসোল লগ - মান / ইনপুট / ডিফল সাথে ইনপুট সংযুক্ত করে। স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটিটি সিউডো-টার্মিনালের এক প্রান্তের সাথে সংযুক্ত রয়েছে যে কোনও কাজের আউটপুট স্বয়ংক্রিয়ভাবে ডিরেক্টরি / ফাইল / লগ / আপস্টার্ট / সিস্টেম জবগুলির জন্য একটি ফাইল এবং $ XDG_CACHE_HOME / upstart / (অথবা OME হোম /) এ লগ হয়। সেশন জবসের জন্য ক্যাশে / আপস্টার্ট / যদি $ XDG_CACHE_Home সেট না করা থাকে)।

কোনটি কনসোল নয় - কাজের স্ট্যান্ডার্ড ইনপুট, স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটি ফাইল বর্ণনাকারীদের / dev / নাল সাথে সংযুক্ত করে।

কনসোল সম্পর্কে আরও তথ্যের জন্য নীচের লিঙ্কটি দেখুন:

http://upstart.ubuntu.com/cookbook/#console-log

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