RTCWake не будит Ubuntu Server

Добрый день,

Я перешел с сервера Windows на сервер Ubuntu, и мне удалось воспроизвести все элементы, которые у меня были на старом сервере, за исключением спящего режима.

В настоящее время у меня установлен Ubuntu Server 16.04.2 LTS, и я просто не могу заставить его проснуться, используя скрипт crontab.

используя:

sudo rtcwake -u -s 120 - mem

заставляет компьютер спать на 2 минуты, поэтому я знаю, что система способна спать и просыпаться, но попытка перенести это в сценарий для меня трудна, так как это все новое и мои знания Ubuntu / Linux в настоящее время очень ограничены. поэтому не могли бы вы потратить 2 минуты, просто чтобы посмотреть, что я сделал до сих пор, пожалуйста.

Команды, которые я выполнил до сих пор:

sudo crontab -e

затем добавили эту строку в конце для проверки возможности:

30 19 * * * /home/andy/suspend_until 19:45

В файле suspend_until есть:

#!/bin/bash

# Auto suspend and wake-up script

# Argument check
if [ $# -lt 1 ]; then
    echo "Usage: suspend_until HH:MM"
    exit
fi

# Check whether specified time today or tomorrow
DESIRED=$((`date +%s -d "$1"`))
NOW=$((`date +%s`))
if [ $DESIRED -lt $NOW ]; then
    DESIRED=$((`date +%s -d "$1"` + 24*60*60))
fi

# Kill rtcwake if already running
sudo killall rtcwake

# Set RTC wakeup time
# N.B. change "mem" for the suspend option
# find this by "man rtcwake"
sudo rtcwake -l -m mem -t $DESIRED &

# feedback
echo "Suspending..."

# give rtcwake some time to make its stuff
sleep 2

# then suspend
# N.B. dont usually require this bit
#sudo pm-suspend

# Any commands you want to launch after wakeup can be placed here
# Remember: sudo may have expired by now

# Wake up with monitor enabled N.B. change "on" for "off" if 
# you want the monitor to be disabled on wake
xset dpms force on

# and a fresh console
clear
echo "Good morning!"

Кредит RedgeOnline

Затем: chmod +x suspend_until

Сервер перешел в режим ожидания в 19:30, но не проснулся.

Любая помощь высоко ценится.

. Заранее благодарю за уделенное время.

Энди

1
задан 3 July 2017 в 15:47

2 ответа

В Вашей команде тестирования:

sudo rtcwake -u -s 120 -m mem

-u причины, которые rtcwake принимает, что Ваши Компьютеры синхронизируют (в BIOS) установлены на время UTC. Однако, когда Вы тестируете в течение относительного времени (120 секунд в этом случае), действительно не имеет значения, в какое время часы установлены, таким образом, это работает во всяком случае.

Сценарий, который выполняется кроном, использует -l опция, заставляя rtcwake предполагать, что Ваши компьютерные часы установлены на местное время.

В любом случае необходимо быть последовательными, в которой опции Вы используете, и необходимо проверить фактические настройки BIOS. Для тестирования rtcwake с абсолютным временем используют-t опцию:

sudo rtcwake -m mem -l -t $(date +%s -d ‘today 19:45’)

где я предположил, что Ваши компьютерные часы установлены на местное время.

Удачи

1
ответ дан 7 December 2019 в 15:33

Вы могли также приостановить и разбудить свою систему с помощью systemd, как описано здесь: Запланированный приостанавливают и возобновляются с systemd

Однако systemd только доступен в человечности начиная с версии 15.04.

Удачи

0
ответ дан 7 December 2019 в 15:33

Другие вопросы по тегам:

Похожие вопросы: