У меня есть резервный сервер, который пробуждается пакетом wake-on-lan, затем извлекает файлы с клиентов и снова переходит в спящий режим.
Иногда я включаю его через WOL и хочу оставить его включенным на пару часов.
Когда в это время запускается резервное копирование, скрипт резервного копирования отправляет сервер обратно в спящий режим, что мне не нужно, поскольку я намеревался отправить его в спящий режим вручную.
Я не хочу устанавливать/снимать флаг в файле, но хочу, чтобы сервер знал, что это резервное копирование началось, когда сервер был включен как минимум пару минут, и поэтому его не следует переводить в спящий режим.
Я выяснил, что диалоговое окно состояния сетевого интерфейса содержит поле «продолжительность», которое является хорошим индикатором того, как долго этот интерфейс был активен, что соответствует времени, в течение которого сервер был активен.
Как я могу получить доступ к этой информации программным путем, желательно через скрипт Python?
решение1
Ведение журнала событий Windowsотслеживает события типа «система вышла из спящего режима».
Проверьте пример кода Центра разработки Windows наЗапрос информации о событии.
Я не пользовался этим лично, но вы тоже сможете сделать то же самое с помощью Python.