毎日、毎週、毎月コンピュータの使用量を追跡しますか?

毎日、毎週、毎月コンピュータの使用量を追跡しますか?

私はバックグラウンドで実行され、コンピュータの使用量(時間単位)を追跡し、毎日、毎週、毎月の時間範囲に関する簡単なレポートを提供する簡単なプログラムを探しています。私の環境:

  • Fedoraデスクトップ
  • Xfce環境

私が正確に何をしたかを追跡する必要はありません。通常の稼働時間を追跡するだけで十分です。

ただし、コーディング、スクリプト、または複雑なコマンドは必要ないため、レポートの抽出は非常に簡単にする必要があります。

答え1

デフォルトでは、すべてのLinuxコンピュータは開始時間と終了時間などのイベントを記録します。

Linuxが起動からシャットダウンまでの期間(およそコンピュータの電源が入っている時間)を確認するには、システムのデフォルトアカウント(utmp / wtmp)を使用できます。

次のシェルコマンドを使用します(一般ユーザーとしてroot権限は必要ありません)。

# last reboot
reboot   system boot  5.5.4-1-default  Fri Feb 21 14:07   still running
reboot   system boot  5.5.2-1-default  Thu Feb 20 12:53 - 14:02  (01:08)
(...)

コンピュータの起動時間と期間(最後の括弧内)が表示されます。

これは、コンピュータが休止状態(ディスクまたはRAMに中断)に入った時間を表示しないため、より複雑な作業を必要とします。

先週の時間などを表示するには、lastnew--sinceとオプションを--until使用して最新バージョンのコマンドを使用できます。

last --since "`date --date='monday 3 weeks ago' +%Y-%m-%d`" \
     --until "`date --date='monday 2 weeks ago' +%Y-%m-%d`" \
     reboot

指定された注意時間(最後の再起動)を提供します。同じ方法を数ヶ月続けることができます。ここではコマンドラインを使用して提供します。

last --since "`date --date='2 months ago' +%Y-%m-%d`" --until "`date --date='1 month ago' +%Y-%m-%d`" reboot

デフォルトでは、その月の最初の日が使用されます。これはあなたが望むようです。

上記のコマンドラインは、last次の日付を使用してコマンド(util-linuxで)を呼び出します。2019-12-27これは、コマンドで許可されるいくつかの形式の1つです。我々は、(GNU coreutilsの)コマンドを使用して、より人間的で読みやすい形式で表示される日付を示すフォーマット文字列を介してdateこのフォーマットを生成します。%Y-%m-%ddate

関連情報