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