লগগুলি কীভাবে সিস্টেম বন্ধের কারণ হতে পারে তা খুঁজে বের করবেন?


104

যেমন আমি এতে দেখছি /var/log/messages:

Mar 01 23:12:34 hostname shutdown: shutting down for system halt

বন্ধের কারণ কী তা জানার উপায় আছে? উদাহরণস্বরূপ, এটি কনসোল থেকে চালানো হয়েছিল, বা কেউ পাওয়ার বাটনে আঘাত করেছে ইত্যাদি?


2
এবার এইটির সাথে কিছুটা ভাগ্য ছিল /var/log/acpid: পাওয়ার বাটনটি হিট হয়ে গেছে। অন্য কোনও ধারণাগুলি, এসিপিড একটি ক্লু না দেয় তবে কোথায় সন্ধান করবেন?
অ্যালেক্স

উত্তর:


45

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

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

সুতরাং এটি যদি সাধারণ শাটডাউন হয় তবে এটি লগ হবে, যদি এটি একটি অনুপ্রবেশ হয় ... শুভকামনা, এবং যদি এটি একটি শীতল শাটডাউন হয় তবে আপনার পরিবেশকে নিয়ন্ত্রণ এবং পর্যবেক্ষণ করার জন্য আপনার জানার সেরা সুযোগ।


118

নিম্নলিখিত কমান্ড ব্যবহার করে দেখুন:

শেষ রিবুট এন্ট্রিগুলির তালিকা প্রদর্শন করুন: last reboot | less

শেষ শাটডাউন এন্ট্রিগুলির তালিকা প্রদর্শন করুন: last -x | less

বা আরও স্পষ্টভাবে: last -x | grep shutdown | less

কে এটি করেছে তা আপনি জানেন না। কে এটি করেছে তা যদি আপনি জানতে চান তবে আপনাকে কিছুটা কোড যুক্ত করতে হবে যার অর্থ আপনি পরের বার জানতে পারবেন।

আমি এই সংস্থানটি অনলাইনে খুঁজে পেয়েছি। এটি আপনার পক্ষে কার্যকর হতে পারে:

কে বা কীভাবে আমার সিস্টেমকে বাধা দিয়েছে তা কীভাবে সন্ধান করবেন


25
ভাল, এটি আমাকে জানায় না যে কী কারণে শাটডাউন হয়েছিল, কেবল তখনই এটি করা হয়েছিল। যা আমি ইতিমধ্যে জানি, আমার প্রশ্ন দেখুন।
অ্যালেক্স

1
আরও সুনির্দিষ্টভাবেlast -x shutdown
রাহুল পাতিল

5
নিম্নচোটিত, কারণ এটি প্রশ্নের উত্তর দেয় না।
টোগলি

1
লিঙ্কটি বিশেষত "আমি কীভাবে জানতে পারি কে বা আমার সিস্টেম (ওল্ড স্কো ইউনিক্স) থামিয়ে দিয়েছে ? "
ওল্ফগ্যাং

16

চেক করার জন্য কয়েকটি জিনিস রয়েছে:

শেষ-এক্স কমান্ডের আউটপুট পরীক্ষা করুন

এই কমান্ডটি চালান * এবং আউটপুটটিকে নীচের উদাহরণগুলির সাথে তুলনা করুন:

last -x | head | tac

সাধারণ শাটডাউন উদাহরণ

একটি সাধারণ শাটডাউন এবং পাওয়ার-আপ এর মতো দেখায় (মনে রাখবেন আপনার একটি শাটডাউন ইভেন্ট রয়েছে এবং তারপরে একটি সিস্টেম বুট ইভেন্ট):

runlevel (to lvl 0)   2.6.32- Sat Mar 17 08:48 - 08:51  (00:02) 
shutdown system down  ... <-- first the system shuts down   
reboot   system boot  ... <-- afterwards the system boots
runlevel (to lvl 3)       

কিছু ক্ষেত্রে আপনি এটি দেখতে পাবেন (নোট করুন যে শাটডাউন সম্পর্কে কোনও লাইন নেই তবে সিস্টেমটি রানলেভেল 0-এ ছিল যা "থামার অবস্থা"):

runlevel (to lvl 0)   ... <-- first the system shuts down (init level 0)
reboot   system boot  ... <-- afterwards the system boots
runlevel (to lvl 2)   2.6.24-... Fri Aug 10 15:58 - 15:32 (2+23:34)   

অপ্রত্যাশিত শাটডাউন উদাহরণ

বিদ্যুৎ হ্রাস থেকে অপ্রত্যাশিত শাটডাউনটি এর মতো দেখায় (মনে রাখবেন যে আপনার পূর্ববর্তী সিস্টেমের শাটডাউন ইভেন্ট ব্যতীত একটি সিস্টেম বুট ইভেন্ট রয়েছে):

runlevel (to lvl 3)   ... <-- the system was running since this momemnt
reboot   system boot  ... <-- then we've a boot WITHOUT a prior shutdown
runlevel (to lvl 3)   3.10.0-693.21.1. Sun Jun 17 15:40 - 09:51  (18:11)    

/ Var / লগের লগগুলি পরীক্ষা করুন

সর্বাধিক আকর্ষণীয় লগ বার্তা ফিল্টার করার জন্য একটি বাশ কমান্ডটি হ'ল:

grep -iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' \
  /var/log/messages /var/log/syslog /var/log/apcupsd* \
  | grep -iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'

যখন অপ্রত্যাশিত বিদ্যুৎ বন্ধ হয়ে যায় বা হার্ডওয়্যার ব্যর্থতা ঘটে তখন ফাইল সিস্টেমগুলি সঠিকভাবে আনমাউন্ট হবে না তাই পরবর্তী বুটে আপনি এই জাতীয় লগ পেতে পারেন:

EXT4-fs ... INFO: recovery required ... 
Starting XFS recovery filesystem ...
systemd-fsck: ... recovering journal
systemd-journald: File /var/log/journal/.../system.journal corrupted or uncleanly shut down, renaming and replacing.

যখন সিস্টেমটি বন্ধ হয়ে যায় কারণ ব্যবহারকারী পাওয়ার বোতামটি চাপলে আপনি এই জাতীয় লগ পাবেন:

systemd-logind: Power key pressed.
systemd-logind: Powering Off...
systemd-logind: System is powering down.

কেবলমাত্র সিস্টেমটি সুশৃঙ্খলভাবে বন্ধ হয়ে গেলে আপনি এই জাতীয় লগ পাবেন:

rsyslogd: ... exiting on signal 15

অতিরিক্ত গরমের কারণে সিস্টেমটি বন্ধ হয়ে গেলে আপনি এই জাতীয় লগ পান:

critical temperature reached...,shutting down

আপনার যদি কোনও ইউপিএস থাকে এবং পাওয়ার এবং শাটডাউনটি নিরীক্ষণের জন্য ডেমোন চালিয়ে যায় তবে অবশ্যই আপনি এটির লগগুলি পরীক্ষা করতে হবে (/ var / লগ / বার্তাগুলিতে নট লগ তবে এপি / আপ / লগ / এপিউসিপিএস-এ apcupsd লগ)


নোট

*: lastএর ম্যান পৃষ্ঠা থেকে এখানে বর্ণনা দেওয়া হল :

last [...] prints information about connect times of users. 
Records are printed from most recent to least recent.  
[...]
The special users reboot and shutdown log in when the system reboots
or (surprise) shuts down. 

আমরা headসর্বশেষ 10 ইভেন্টগুলি রাখতে ব্যবহার করি এবং আমরা tacক্রমটি উল্টাতে ব্যবহার করি যাতে অতি সাম্প্রতিকতম থেকে সাম্প্রতিকতম ইভেন্টের শেষ প্রিন্টগুলি দেখে আমরা বিভ্রান্ত না হই।


ভাল উত্তর. আমার ডিবিয়ান 9-তে, আমি একটি সাধারণ শাটডাউন করার জন্য "রানলেভেল (lvl 0)" লাইনটি দেখতে পাইনি।
Jruv

@ জরুভ আপনি কি দেখেছেন? আমার ধারণা এটি "শাটডাউন সিস্টেম ডাউন" হওয়া উচিত ছিল
nddou

এটি একটি দুর্দান্ত উদাহরণ তবে tacকমান্ড ব্যতীত পুনরায় কাজ করা থেকে উপকৃত হতে পারে
এমবিগ্রাস

পরীক্ষা / var / লগ, এটি একটি দুর্দান্ত কমান্ড এবং ভাল লিখিত তথ্য। ধন্যবাদ!
হাওয়ার্ড লি

11

এক্সপ্লোর করার জন্য কিছু সম্ভাব্য লগ ফাইলগুলি: (একটি উবুন্টু সিস্টেম পাওয়া গেছে, তবে আমি আশা করব যে তারা বেশিরভাগ লিনাক্স / ইউনিক্স সিস্টেমে উপস্থিত রয়েছে)

/var/log/debug
/var/log/syslog (will be pretty full and may be harder to browse)
/var/log/user.log
/var/log/kern.log
/var/log/boot

আবার এই লগ ফাইলগুলি একটি উবুন্টু সিস্টেমে উপস্থিত রয়েছে, সুতরাং ফাইলের নামগুলি পৃথক হতে পারে। tailকমান্ড আপনার বন্ধু।


8

ব্যবহার সহজ করে lastসিস্টেম শাটডাউন এন্ট্রি এবং রান-লেভেল পরিবর্তনের এবং ফিল্টারিং প্রদর্শন করার shutdownএবং reboot:

last -x shutdown reboot

1
এনডিফোনটনে ইতিমধ্যে এটি উল্লেখ করেছেন। অবদানের জন্য আপনাকে ধন্যবাদ, তবে অনুগ্রহ করে বিদ্যমান উত্তরগুলি প্রথমে পড়ুন।
গিলস

আমি যদিও আমার উত্তর সহজতর একটি এনডিফোনটনে, কিন্তু ধন্যবাদ।
jvvaras

1
@ গিলিস আমি বলতে চাই এটি সুস্পষ্টভাবে ভিন্ন, cat foo | grep barবনাম grep bar fooসাজানোর পদ্ধতিতে, দেখা যাচ্ছে যে শেষটি নিজেকে ফিল্টার করতে সক্ষম।
xenoterracide

8

পুরোপুরি সন্তুষ্ট নয়

আমার একটি ডিবিয়ান 8.৮ এর একইরকম প্রয়োজন ছিল এবং পর্যবেক্ষণ করলাম যে মূলত লগতে কোনও স্পষ্ট এবং স্পষ্ট বার্তা নেই, যা একটু অবাক করার মতো।

মাধ্যমে grep /var/log, টাইম মেশিন শাট ডাউন হয়েছিল বলতে সঠিক ডেমন শাটডাউন, ইত্যাদি, কিন্তু না প্রাথমিক কারণ দেখাতে হবে।

shutdown[25861]: shutting down for system halt

উল্লিখিত অন্যান্য সমাধানগুলি last -xখুব বেশি সহায়ক হয়নি।

এটি কীভাবে কাজ করে তা খুঁজছেন

পড়া /etc/acpi/powerbtn-acpi-support.shযা অন্তর্ভুক্ত:

যদি [-x /etc/acpi/powerbtn.sh]; তারপর
    # এসপিড প্যাকেজ থেকে পুরানো কনফিগার স্ক্রিপ্টের সাথে সামঞ্জস্যতা
    /etc/acpi/powerbtn.sh
এলিফ [-x /etc/acpi/powerbtn.sh.dpkg-bak]; তারপর
        # এসপিড প্যাকেজ থেকে পুরানো কনফিগার স্ক্রিপ্টের সাথে সামঞ্জস্যতা
    # যা এখনও প্রায় রয়েছে কারণ এটি অ্যাডমিন দ্বারা পরিবর্তন করা হয়েছিল
        /etc/acpi/powerbtn.sh.dpkg-bak
আর
    # সাধারণ পরিচালনা
    / sbin / শাটডাউন -h -P এখন "পাওয়ার বোতাম টিপে"
ফাই

লক্ষ্য করুন যে shutdownকমান্ডের প্যারামিটার হিসাবে একটি স্পষ্ট পাঠ্য দেওয়া হয়েছে । আমি আশা করব যে স্ট্রিংটি শাটডাউন প্রোগ্রামের মাধ্যমে স্বয়ংক্রিয়ভাবে লগ হবে।

ভাল লগ জন্য সামঞ্জস্য

যাইহোক, একটি সুস্পষ্ট বার্তা পেতে আমি নীচে (মূল হিসাবে) পাঠ্যটি একটি নতুন /etc/acpi/powerbtn.shতৈরি এক্সিকিউটেবলের সাথে রেখেছিchmod a+x /etc/acpi/powerbtn.sh

#! / বিন / SH
/etc/acpi/powerbtn.sh এ লগার, সম্ভবত "পাওয়ার বোতাম টিপে"
    / sbin / শাটডাউন -h -P এখন "পাওয়ার বোতাম টিপে"

এটি এভাবে করা সম্ভবত সংশোধন করার চেয়ে দীর্ঘস্থায়ী পরিবর্তন আনবে /etc/acpi/powerbtn-acpi-support.sh। পরবর্তী বিকল্পটি সম্ভবত প্যাকেজের পরবর্তী আপগ্রেডের উপর তার প্রভাব হারাবে acpi-support-base

উবুন্টু ১৪.০৪ এর চেয়ে বিজ্ঞপ্তি এটি আলাদাভাবে করে ( /etc/acpi/powerbtn.shইতিমধ্যে acpidপ্যাকেজ থেকে পৃথক সামগ্রী রয়েছে )। এছাড়াও, ডেবিয়ান 8 সম্ভবত এটি অন্যভাবে করে। ভেরিয়েন্ট অফার নির্দ্বিধায়।

লাভ!

আর এখন পাওয়ার বাটন টেপা হলে, নিচের মত একটি লাইন দেখা /var/log/messages, /var/log/syslogএবং /var/log/user.log:

logger: in /etc/acpi/powerbtn.sh, presumably Power button pressed

এখন এটি লগের একটি স্পষ্ট বার্তা।


ইনস্টল acpi-support-baseএবং acpidপ্যাকেজ বিবেচনা করার পরামর্শ দেওয়ার জন্য @ বিলেক্কিকে ধন্যবাদ । আমি নিজে পরীক্ষা করিনি। আপনি কোন বিতরণ এবং সংস্করণটি এর দ্বারা উপকার পাবেন তা বিশদ দিয়ে বলতে পারেন?
স্টাফেন গ্যারিচন

4

আমার কাছে কেবল একটি আনাড়ি ধারণা আছে তবে এটি আপনার পক্ষে কার্যকর হয়: কমান্ডটি সন্নিবেশ করান lastএবং সমস্ত ব্যবহারকারীর জন্য লগইন সম্পর্কিত তথ্যগুলি পরীক্ষা করে দেখুন। তারপরে, haltসেই মুহুর্তে লগইন করা হয়েছিল তার জন্য প্রয়োজনীয় অনুমতি নিয়ে ফিল্টার করুন । তারপরে তাদের .bash_historyফাইলটি পরীক্ষা করে দেখুন যে তারা থামতে প্রবেশ করেছে কিনা।


1

আমার ক্ষেত্রে আমার অত্যধিক গরমের সমস্যা হয়েছিল এবং 'var / log / syslog / / var / লগ ফোল্ডারে একটি' গ্রেপ শাট * 'দ্বারা লগ ইন।

ত্রুটিটি লগ করা হ'ল এটি:

Feb 23 15:59:49 luca-LIFEBOOK-A530 kernel: [24746.497174] thermal thermal_zone0: critical temperature reached(99 C),shutting down

1

আমার কেভিএম ভিএম-তে কেবল এই চিপটি (যেখানে আমি আশ্চর্য হয়েছি যে কোনও হোস্ট পুনরায় বুট করা অতিথিদের ক্লিন শাটডাউন করে কিনা), আমি আমার প্রয়োজনীয় জিনিসগুলি খুঁজে পেয়েছি /var/log/auth.log(একইটি প্রদর্শন করার পাশাপাশি last -x shutdown)। সেখানে এই লাইনগুলি দেখানো হয়েছে:

Sep  3 23:56:31 Web systemd-logind[531]: Power key pressed.
Sep  3 23:56:31 Web systemd-logind[531]: Powering Off...
Sep  3 23:56:31 Web systemd-logind[531]: System is powering down.
Sep  3 23:55:45 Web systemd-logind[591]: New seat seat0.
Sep  3 23:55:45 Web systemd-logind[591]: Watching system buttons on /dev/input/event0 (Power Button)
Sep  3 23:55:54 Web sshd[805]: Server listening on 0.0.0.0 port 22.
Sep  3 23:55:54 Web sshd[805]: Server listening on :: port 22.

last -xএই লাইনগুলি দেখায়, লক্ষ্য করুন যে এগুলি সর্বাধিক সাম্প্রতিক-প্রথম ক্রমে মুদ্রিত হচ্ছে (উদাহরণস্বরূপ শেষ লাইনটি প্রথমে পড়ুন, এবং তারপরে উপরে যান), তবে ঘড়ির রিসেটের কারণে (বুট হওয়ার আগে 23:56, 23:55 পরে) পূর্ববর্তী লাইনেও স্পষ্ট, আদেশটি কিছুটা বিচলিত বলে মনে হচ্ছে:

runlevel (to lvl 2)   3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
reboot   system boot  3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
shutdown system down  3.13.0-123-gener Sun Sep  3 23:56 - 23:55  (00:00)    
runlevel (to lvl 0)   3.13.0-123-gener Sun Sep  3 23:56 - 23:56  (00:00)

আমার অংশ হিসাবে, হোস্ট বুট করার সময় অতিথিরা পরিষ্কারভাবে শাট ডাউন হয়ে গেছে তা যাচাই করে, আমি কেবল একটি অতিথির মধ্যে (এসএসএস) লগইন করতে পারি এবং হোস্টটি বুট করার সময় সেখানে থাকতে পারি, টার্মিনালে এই লাইনগুলি পেয়ে:

root@Web:~#
Broadcast message from root@Web
        (unknown) at 22:25 ...

The system is going down for power off NOW!
Connection to web closed by remote host.
Connection to web closed.

0

স্ক্রিপ্টের স্ক্রিপ্টের শাটডাউনটি স্ক্রিপ্টের
সমস্ত পরামিতি
ইত্যাদিকে অবশ্যই মূল শাটডাউন এক্সিকিউটেবল বিটকে দিতে হবে: স্ক্রিপ্টটি অবশ্যই এগুলি লগইন করতে পারে


2
শাটডাউন স্ক্রিপ্টটি ইতিমধ্যে এটি করেছে ( last -x)
ফোর্সফেস্ক

-1
cat /usr/adm/syslog

আমার ক্ষেত্রে এটি ছিল সার্ভারটি বন্ধ করার আপস সফ্টওয়্যার।

/etc/rc.d/7/upsd.boot


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