Я хочу знать время работы с момента последнего пробуждения из режима ожидания.
Команда 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
journalctl -b 0 -o short-iso MESSAGE="PM: Finishing wakeup." | tail -1 | cut -d" " -f1
только для времени последнего пробуждения
Программа pm-suspend - не единственная возможность приостановить работу компьютера. Мой журнал этой программы теперь пуст, но я нашел более надежную команду:
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. Если ваша машина работала слишком долго, тогда журнал может быть повернут.
Вы можете использовать tuptime для отслеживания запуска / выключения системы.
Расширяя Шаги, ответьте:
grep Awake /var/log/pm-suspend.log | tail -1
Это получит линию с последним временем пробуждения.
Я думаю, что это очень надежный способ сделать это:
systemd[1]: Started Run anacron jobs at resume
Поиск, когда ОС запускает Anacron, произойдет, однако машина включена
Ни один из этих ответов не работал для меня. Но я с пользой нашел, 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.