Tôi muốn biết thời gian hoạt động kể từ lần thức dậy cuối cùng từ chế độ chờ.
Lệnh uptime
chỉ hiển thị sự khác biệt giữa thời gian hiện tại trừ đi thời gian khởi động cuối cùng.
Tôi muốn biết thời gian hoạt động kể từ lần thức dậy cuối cùng từ chế độ chờ.
Lệnh uptime
chỉ hiển thị sự khác biệt giữa thời gian hiện tại trừ đi thời gian khởi động cuối cùng.
Câu trả lời:
Trong /var/log/pm-suspend.log
, tìm kiếm dòng cuối cùng trông như thế này:
Sun Dec 16 09:30:31 CET 2012: Awake.
Đó là lần thức dậy cuối cùng của bạn. Bạn có thể tính thời gian hoạt động của mình kể từ đó theo cách Paul đề xuất.
Định kỳ logrotate
nhật ký của bạn sẽ "xoay" các bản ghi để ngăn chúng phát triển quá lớn, do đó bạn có thể tìm thấy một pm-suspend.log
tệp trống . Trong trường hợp này, chỉ cần tìm pm-suspend.log.1
tệp (bạn cũng có thể tìm thấy các tệp nhật ký khác có tên như pm-suspend.log.2.gz
vậy, v.v. bạn có thể kiểm tra chúng bằng cách sử dụng zcat
hoặc zless
).
pm-suspend.log
trống thì sao? :(
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
Đối với máy tính để bàn / máy chủ chạy systemd, trong khi không có lệnh trực tiếp sẽ cho biết thông tin trực tiếp (theo như tôi biết), tất cả dữ liệu được ghi lại trong tạp chí.
Bạn có thể grep tạp chí, ví dụ:
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"
Hoặc, để có đầu ra ưa thích, tôi đã viết một tập lệnh python3 (chạy tốt trên Fedora 23) Kết quả đầu ra mẫu:
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]
Kịch bản là trong github. liên kết đến repo github
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
cho thời điểm thức dậy cuối cùng
Chương trình tạm ngưng chiều không phải là lựa chọn duy nhất làm thế nào để tạm dừng máy tính. Nhật ký của tôi về chương trình này hiện đang trống, nhưng tôi đã tìm thấy lệnh đáng tin cậy hơn:
cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed"
Và đầu ra là:
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.
sửa đổi xác minh tốt hơn các bước trả lời
grep ': Awake' /var/log/pm-suspend.log
chỉnh sửa haha cảm ơn vì những bình luận: D
cat
điểm sử dụng vô dụng !
Tôi không có pm-Suspend.log trên máy của mình.
Điều này làm việc cho tôi:
/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1
Cũng nói những gì đánh thức máy tính lên. :-)
pmset
được tìm thấy và không có tệp nào như vậy pmset
và pm-suspend.log
trống? :(
pm-suspend.log
đã mất tích và điều này hoạt động với tôi (trên iMac của tôi)
Bạn đang sử dụng gì để bắt đầu chế độ chờ?
Nếu bạn có thể sử dụng một tập lệnh, thì sau dòng
echo -n "standby" > /proc/acpi/sleep
bạn có thể có dòng
echo `date +%s` >> /var/log/wakeups.log
Hoặc một cái gì đó tương tự. Điều này có nghĩa là việc đầu tiên mà máy làm khi thức dậy là ghi thời gian và ngày hiện tại vào một tệp nhật ký (n giây kể từ epoch).
Sau đó tail -1 /var/log/wakeups.log
sẽ cung cấp cho bạn lần cuối cùng. Bạn có thể trừ điều này từ thời điểm hiện tại để có được giây kể từ lần thức dậy cuối cùng.
Tìm kiếm sự xuất hiện cuối cùng của chuỗi "PM: khôi phục thiết bị hoàn tất" trong / var / log / message. Nếu máy của bạn đã hoạt động quá lâu, thì nhật ký có thể được xoay.
Bạn có thể sử dụng tuptime để theo dõi tuổi thọ khởi động / tắt hệ thống.
Mở rộng các bước trả lời:
grep Awake /var/log/pm-suspend.log | tail -1
Điều này sẽ có được dòng với thời gian thức dậy cuối cùng.
Tôi nghĩ rằng đây là một cách rất vững chắc để làm điều đó:
systemd[1]: Started Run anacron jobs at resume
Tìm kiếm khi hệ điều hành khởi động anacron, sẽ xảy ra tuy nhiên máy được bật
Không có câu trả lời nào trong số này làm việc cho tôi. Nhưng tôi thấy hữu ích sleep.target
được tạo ra cho chính xác điều này:
$ 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.
trên fedora sử dụng ripgrep
rg Suspend /var/log/messages
kết quả:
34338:Jul 26 03:03:46 <hostname> systemd-sleep: Suspending system...