Linux

跟踪每天、每週、每月的電腦使用情況?

  • February 27, 2020

我正在尋找一個簡單的程序來在後台執行並通過每日、每周和每月時間範圍的簡單報告來跟踪我的電腦使用情況(小時數)。我的環境:

  • Fedora 桌面版
  • Xfce 環境

我不需要它來跟踪我具體在做什麼。跟踪一般正常執行時間對我來說就足夠了。

然而,它應該很容易提取報告,不涉及編碼、腳本或複雜的命令。

預設情況下,任何 Linux 電腦都會記錄啟動和關閉時間等事件。

如果您希望查看從 Linux 啟動到關機的持續時間(大約是電腦通電的時間),您可以使用系統的預設記帳 (utmp/wtmp)。

使用這些 shell 命令(作為普通使用者,不需要 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)
(...)

這顯示了電腦啟動的啟動時間和持續時間(在末尾的括號中)。

NB 這不顯示電腦休眠的時間(掛起到磁碟或 RAM),這需要更複雜的工作。

如果您希望查看上週的時間等,您可以使用 new和選項使用較新版本的last命令來做到這一點:--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命令接受的少數格式之一。我們使用命令(來自 GNU coreutils)使用格式字元串date生成該格式,告訴以它接受的更易於閱讀的格式顯示哪個日期。%Y-%m-%d``date

引用自:https://unix.stackexchange.com/questions/569228