Linuxにシャットダウンを記録するログはありますか?


38

Linuxに、コンピューターがシャットダウンされるたびに記録するログファイルがあるかどうか疑問に思っていましたか?

私が尋ねている理由は、特定の条件下でノートパソコンのバッテリーがどれくらい続くかに関するテストをしているからです。私のラップトップは、バッテリー残量が約10分になると自動的にシャットダウンするように構成されているため、コンピューターのシャットダウン時に記録するログファイルがどこかにあれば、テストが非常に簡単になります。

Ubuntu 10.04を実行しています。ありがとう!

回答:


15

/var/log/messagesファイルは実際にそれで操業停止に関連する何かを持っている必要があり、例えば鉱山(CentOSの5)のために、このような行があります:

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.

/etc/syslog.confまたはをチェックして、/etc/rsyslog.confログがそこにあることを確認してください。ログファイルを読み取るには、おそらくルート権限が必要です。

また、それ自体はシャットダウンしませんが、「最後の」コマンドは再起動を報告する必要があります。

最後にシャットダウンしたときのログには、まったく何もありませんか?

テストでは、バッテリーが報告している情報が正確である場合とそうでない場合があるため、コンピューターには10分しか残っていないことがわかっていることに注意してください。シャットダウンを待つのではなく、ACPI情報を直接見ることができます。私のラップトップではここにあります:

/proc/acpi/battery/BAT0/

そこでは、「状態」ファイルと「情報」ファイルが面白そうです。ラップトップをさまざまな条件下で実行しているときに、状態ファイルの残りの容量を監視して、どのくらいの速さで低下するかを確認できます。


3
見逃していない限り、/ var / log / messagesに「シャットダウン」メッセージは表示されません。「Kernel logging(proc)stopped」というメッセージが表示される場合がありますが、常にではありません。ただし、実行はlast -x動作します。このコマンドは、次のような行を表示しますshutdown system down 2.6.32-23-generi Sun Jul 25 09:12 - 19:00 (-14815+-13: 。バッテリー情報のヒントをありがとう。私のシステムにもこれがあるので、これをチェックアウトする必要があります!これらのファイルは5秒ごとに更新されるようです。ありがとう!
マイケル

再度、感謝します。私の結果はこちらです:mangstacular.blogspot.com/2010/07/…–
マイケル


5

まず、これが古いスレッドであることを知っていると言ってみましょう。私がコメントするのは、ネットを突っついているときにこれを見つける他の人が(今日やったように)明確な答えを得るためです。

第二に、次のコマンドは悪い習慣であり、「猫の無駄な使用」(グーグル検索)カテゴリに分類されることに注意してください...

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

その行は次のように変更する必要があります。

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages

grep、およびほとんどのunix / linuxコマンド(sed、awkなど)は、catがファイルの内容を読み取る必要はありません。引数として渡すには、コマンドの後にファイルのパスと名前を配置するだけで十分です。パイプと別の外部コマンド(cat)を追加すると、時間とリソースが無駄になります。

最後に、システムのシャットダウンや再起動の記録をどこで見つけるかについては、最後のコマンドを使用してください。すべてのlogin / logoutエントリの/ var / log / wtmpログファイルを読み取ります。シャットダウンと再起動は実際にはシステムレベルのログイン/ログアウトイベントであるため、ここに記録されます。同じことがルートコンソールのシャットダウンにも当てはまります。これはログアウトイベントです。

例:

last -5 reboot shutdown root

これにより、wtmpログの最後の5つの再起動、シャットダウン、およびルート(コンソールシャットダウンを含む)エントリが表示されます。

結果:

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41

これがこのスレッドに出くわした人の助けになることを願っています。:-)


または、単にlast -xまたはlast -F -R -x runlevel。Ubuntuでのバッテリー監視の目的のために、grep hooks /var/log/pm-suspend.logサスペンドとレジュームを表示するのにも役立ちます。残念ながら、pm-powersave.logはAC電源が接続された時間を保存しません(独自のフックを追加しない限り)。help.ubuntu.com/community/PowerManagement/ReducedPowerは一見の価値があります。
セドリックナイト

UUoCについては、$ CPU時間<< $ Brain時間...
MikeP

1
「猫の無駄な使用」に言及している各人はおそらく、地球上のすべてのコンピューターによる猫の無駄な使用に費やされる合計CPU時間よりも多くの時間を事実を指摘するために費やしています-このような)
-ndemou

4

/ var / log / messagesファイルには、この情報が含まれている必要があります


そのファイルにはシャットダウンに関連するものは何もありませんでした。:(コンピューターをシャットダウンしたときのタイムスタンプを使用して、そのディレクトリ内の他のすべてのファイルをgrepしようとしましたが、運がありません:grep -r "Jul 24 14:" /var/log/*
Michael

ファイルは、Linuxのミントメイト17上に存在していない
エリック王

2

過去にコンピューターが稼働していた時間を追跡したい場合は、アップタイムのようなものを使用できます。

それには、uprecordsと呼ばれるプログラムが付属しており、コンピューターの稼働時間を表示します。


1

以下は、今日からのすべてのメッセージをリストするワンライナーです。

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

これはCentOSでYMMVでテストされました。

そしてもちろんありますlast rebootし、last shutdown(日付のみを提供)(前述のように)が、これは私のニーズのためにあまりにも簡単です。



0

ログが存在しない場合は、シャットダウンスクリプトに「日付>> mylog」を追加しようとすることがあります(一部の分野では、rc.shutdownと呼ばれます)。

または、必要な事前特権のない方法もあります。実行:

while [ 1 ];do sleep 5;date>mylog;sync;done

次のセッションでmylogの末尾を表示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.