Я хочу знати час роботи з останнього пробудження в режимі очікування.
Команда uptime
показує лише різницю між поточним часом мінус останнім часом запуску.
Я хочу знати час роботи з останнього пробудження в режимі очікування.
Команда uptime
показує лише різницю між поточним часом мінус останнім часом запуску.
Відповіді:
В /var/log/pm-suspend.log
, зверніть увагу на останній рядок , дивлячись , як це:
Sun Dec 16 09:30:31 CET 2012: Awake.
Це ваш останній час пробудження. З тих пір ви можете обчислити час своєї роботи, як запропонував Павло.
Періодично ваші журнали logrotate
будуть «обертати», щоб запобігти зростанню їх занадто великих розмірів, тому ви можете знайти порожній pm-suspend.log
файл. У цьому випадку просто шукайте pm-suspend.log.1
файл (ви можете також знайти інші файли журналу з назвою "подібні" pm-suspend.log.2.gz
і т. Д .; ви можете їх вивчити за допомогою zcat
або zless
).
pm-suspend.log
порожній? :(
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
Для настільних ПК / серверів, на яких працює systemd, хоча немає жодної прямої команди, яка безпосередньо повідомляє інформацію (наскільки я знаю), всі дані фіксуються в журналі.
Ви можете привітати журнал, наприклад:
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 repo
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
лише час останнього пробудження
Програма вечірнього призупинення - не єдиний варіант, як призупинити роботу комп'ютера. Мій журнал цієї програми тепер порожній, але я знайшов більш надійну команду:
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.
модифіковані кращі варіанти відповіді кроків
grep ': Awake' /var/log/pm-suspend.log
редагувати ха-ха, дякую за коментарі: D
cat
точки!
У мене не було pm-suspend.log на своїй машині.
Це працювало для мене:
/usr/bin/pmset -g log | grep Wake | grep "due to" | tail -n1
Також говорить, що розбудив комп'ютер. :-)
pmset
знайдено жодної команди та такого файлу, як pmset
і pm-suspend.log
порожній? :(
pm-suspend.log
бракувало, і це працює для мене (на моєму iMac)
Що ви використовуєте для запуску режиму очікування?
Якщо ви можете використовувати сценарій, то після рядка
echo -n "standby" > /proc/acpi/sleep
ви могли мати лінію
echo `date +%s` >> /var/log/wakeups.log
Або щось подібне. Це означатиме, що перше, що зробила машина, коли прокинулася, - це записати поточний час і дату в журнальний файл (n секунд з епохи).
Тоді tail -1 /var/log/wakeups.log
б тобі дали останній раз. Ви можете відняти це від поточного часу, щоб отримати секунди з моменту останнього пробудження.
Пошук останнього виникнення рядка "PM: відновлення пристроїв завершено" в / var / log / messages. Якщо ваша машина стояла занадто довго, то, можливо, журнал може бути повернутий.
Я думаю, що це дуже солідний спосіб зробити це:
systemd[1]: Started Run anacron jobs at resume
Пошук, коли ОС запускається анакрон, буде відбуватися, проте машина включена
Жодна з цих відповідей не працювала для мене. Але я корисно знайшов, 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.