Linuxを使用した「プラグアウト」シナリオの検出

Linuxを使用した「プラグアウト」シナリオの検出

Linuxシステムの停電によるシャットダウンを検出できるかどうか疑問に思います。 (停電とは、リセットボタンを押す、電源ボタンを押す、電源コードを抜くなどで定義されます。)では、どうすればよいですか? (つまり、これがすでに人々ができることであれば、どのコマンドを実行する必要がありますか?)

私はそれが次のように動作すると想像しています:

  • システムの再起動時にシャットダウンまたは再起動コマンドが実行されたことを確認しましたが、何も見つかりませんでした。
  • システムは、カーネルパニックなど(OOMのおそらく?)など、再起動が必要なエラーが記録されていることを確認しますが、何も見つかりません。
  • 上記のように決定的な証拠が見つからない場合、システムは「終了原因が見つかりません。停電の可能性が検出されました」と同様のメッセージを記録します。

ベストアンサー1

これは実装によって異なりますが、lastシステムがクラッシュすると、出力にそれに関するメッセージが表示されますlast

はい

線が見えますかcrash?これは、停電や特定のシステムの電源スイッチを誰かが押すために発生します。

$ last
root     pts/0        greeneggs.bubba. Tue May 13 22:42 - 22:43  (00:01)    
reboot   system boot  2.6.18-238.19.1. Tue May 13 21:47         (4+17:29)   
root     pts/0        greeneggs.bubba. Tue May 13 21:36 - crash  (00:11)    
root     pts/0        greeneggs.bubba. Mon May 12 03:29 - 03:29  (00:00)    
root     pts/0        greeneggs.bubba. Sun May 11 16:47 - 19:41  (02:53)    
root     pts/0        greeneggs.bubba. Sat May 10 17:10 - 17:12  (00:01)    
root     pts/0        greeneggs.bubba. Sat May 10 08:35 - 08:35  (00:00)    
root     pts/1        greeneggs.bubba. Thu May  8 23:56 - 23:56  (00:00)    
reboot   system boot  2.6.18-238.19.1. Thu May  8 23:55         (9+15:21)   
root     pts/0        greeneggs.bubba. Thu May  8 22:39 - 22:41  (00:02)    
root     pts/0        greeneggs.bubba. Tue May  6 21:36 - 22:06  (00:30)    
sam      pts/0        byers.bubba.net  Tue May  6 12:36 - 13:04  (00:28)    
root     pts/0        :0.0             Mon May  5 23:12 - 23:12  (00:00)    
root     :0                            Mon May  5 23:03 - crash (3+00:51)   

より難解なアプローチ

私がよく見ている1つの方法は、ラップトップがある場合はコマンドラインツールを使用してacpiシステムのACPIインターフェイスを照会できることです。とりわけ、これはシステムがアクティブであるか、バッテリが放電されたかを知らせることができます。

はい

これは私のラップトップのコマンド出力です。

$ acpi -V
Battery 0: Unknown, 94%
Battery 0: design capacity 6963 mAh, last full capacity 6683 mAh = 95%
Adapter 0: on-line
Thermal 0: ok, 52.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 100.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 95.5 degrees C
Cooling 0: LCD 0 of 15
Cooling 1: Processor 0 of 10
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10

この行の内容を確認するだけで、Adapterシステムの現在の状態を確認できます。たとえば、コンピュータグループを監視して完全な電源遮断が発生したことを確認したい場合は、モニタにカプセル化することができます。

入れる

$ acpi -V | grep "Adapter"
Adapter 0: on-line

プラグを抜く

$ acpi -V | grep "Adapter"
Adapter 0: off-line

おすすめ記事