スタンバイから最後に復帰してからの稼働時間を見つける方法


29

スタンバイから最後に復帰してからの稼働時間を知りたい。

このコマンドuptimeは、現在の時刻から最後の起動時刻を引いた差のみを表示します。

回答:


30

/var/log/pm-suspend.log、次のような最後の行を探します。

Sun Dec 16 09:30:31 CET 2012: Awake.

それが最後の起床時間です。ポールが提案した方法から、アップタイムを計算できます。

定期的にlogrotateログを「回転」させて、ログが大きくなりすぎないようにしpm-suspend.logます。そのため、空のファイルが見つかることがあります。この場合は、pm-suspend.log.1ファイルを探すだけです(like pm-suspend.log.2.gzなどの名前のログファイルも見つかる場合があります。zcatまたはを使用して調べることができますzless)。


これは私のために働いた
ヤツェクPietalに

5
pm-suspend.log空の場合はどうなりますか?:(
cprn

1
サスペンドタイムスタンプも気にする場合は、次を使用しますcat /var/log/pm-suspend.log /var/log/pm-suspend.log.1 | grep -B1 Awake; echo "--"; zcat /var/log/pm-suspend.log.*.gz | grep -B1 Awake
。– webbertiger

2
私のコンピューターにそのようなファイルはありません(Ubuntu 16.04 LTSを実行しています)
ラモンスアレス

ファイルは、pm-suspendをインストールした場合にのみ存在します。しかし、たとえば、ノートブックを閉じた後もKubuntuはサスペンド状態になります。次に、pm-suspendファイルは空です。
dmatej

15

systemdを実行しているデスクトップ/サーバーの場合、情報を直接伝える直接的なコマンドはありませんが(私の知る限り)、すべてのデータはジャーナルにキャプチャされます。

たとえば、ジャーナルをgrepできます。

echo ">> [SUSPEND] Times during current boot"
journalctl -b 0 |grep "]: Suspending system..."
echo ">> [WAKE] Times during current boot"
journalctl -b 0 |grep "PM: Finishing wakeup"

または、派手な出力のために、python3スクリプトを作成しました(Fedora 23で正常に動作します)。サンプル出力:

Initial Boot Timestamp:  2016-01-15 09:31:32 

     Wake Timestamp     |    Suspend Timestamp   |       Awake Time       |
  --------------------  |  --------------------  |  --------------------  |
   2016-01-15 09:31:32  |   2016-01-15 09:36:03  |          0h  4m        |
   2016-01-15 09:36:22  |   2016-01-15 19:15:04  |          9h 38m        |
   2016-01-15 19:22:21  |   2016-01-15 20:00:05  |          0h 37m        |
   ...
   -------------------  |  --------------------  |  --------------------  | 

Summary: Days Since Boot [8.23] | Days Awake [4.14] | Suspend/Wake Cycles: [28]

スクリプトはgithubにあります。githubリポジトリへのリンク


1
これは、Ubuntu 16.04
raphinesse

ジャーナルを確認できることを知っておくと良いでしょう。
シプルモカディム16

journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1最後のウェイクアップの時間だけに使用
-raphinesse

13

コンピュータをサスペンドする方法は、pm-suspendプログラムだけではありません。このプログラムのログは空になりましたが、より信頼性の高いコマンドが見つかりました。

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"

出力は次のとおりです。

Oct  2 09:11:48 dmatej-lenovo systemd-sleep[931]: Suspending system...
Oct  2 09:53:10 dmatej-lenovo systemd-sleep[931]: System resumed.
Oct  2 15:02:48 dmatej-lenovo systemd-sleep[27516]: Suspending system...
Oct  2 16:07:19 dmatej-lenovo systemd-sleep[27516]: System resumed.
Oct  2 16:32:48 dmatej-lenovo systemd-sleep[29622]: Suspending system...
Oct  2 17:16:41 dmatej-lenovo systemd-sleep[29622]: System resumed.
Oct  3 00:24:58 dmatej-lenovo systemd-sleep[21316]: Suspending system...
Oct  3 08:17:22 dmatej-lenovo systemd-sleep[21316]: System resumed.
Oct  3 09:09:25 dmatej-lenovo systemd-sleep[24739]: Suspending system...
Oct  3 09:50:47 dmatej-lenovo systemd-sleep[24739]: System resumed.


1

マシンにpm-suspend.logがありませんでした。

これは私のために働いた:

/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1

また、何がコンピューターを目覚めさせたのかも語っています。:-)


1
どのような場合は、そこにはコマンドませんpmset発見し、というようなファイルpmsetpm-suspend.log空のですか?:(
cprn

pm-suspend.log行方不明だったし、これは(私のiMacで)私のために働く
dayuloli

1
これは、Macのためだけである
plaisthos

0

スタンバイを開始するために何を使用していますか?

スクリプトを使用できる場合は、行の後

echo -n "standby" > /proc/acpi/sleep

あなたはラインを持つことができます

echo `date +%s` >> /var/log/wakeups.log

または似たようなもの。これは、マシンが目覚めたときに最初にしたことは、現在の日時をログファイルに書き込むことであることを意味します(エポックからn秒)。

その後tail -1 /var/log/wakeups.log、あなたに最後の時間を与えるでしょう。これを現在の時刻から減算して、最後のウェイクアップからの秒数を取得できます。


0

/ var / log / messagesで「PM:デバイスの復元が完了しました」という文字列の最後の出現を検索します。マシンの起動時間が長すぎると、ログがローテーションされる場合があります。



0

拡張ステップの答え:

grep Awake /var/log/pm-suspend.log | tail -1

これにより、最後のウェイクアップ時間の行が取得されます。


0

これは非常に堅実な方法だと思います。

systemd[1]: Started Run anacron jobs at resume

OSがanacronを起動するタイミングを検索します。ただし、マシンはオンになっています


0

これらの答えはどれも私にとってはうまくいきませんでした。しかし、私はsleep.targetこれがまさにこれのために作られていることを便利に見つけました:

$ journalctl -n4 -u sleep.target
nov. 17 17:16:37 kaa systemd[1]: Reached target Sleep.
nov. 17 18:46:22 kaa systemd[1]: Stopped target Sleep.
nov. 17 19:27:31 kaa systemd[1]: Reached target Sleep.
nov. 17 19:45:21 kaa systemd[1]: Stopped target Sleep.

-1

ripgrepを使用したfedoraで

rg Suspend /var/log/messages

結果:

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