web-dev-qa-db-ja.com

RTCWakeはUbuntu Serverをウェイクしません

こんにちは、

WindowsサーバーからUbuntuサーバーに切り替えて、スリープモードを除いて、古いサーバーにあったすべてのアイテムを複製することができました。

現在、Ubuntu Server 16.04.2 LTSがインストールされていますが、crontabスクリプトを使用して起動することはできません。

使用して:

Sudo rtcwake -u -s 120 - mem

コンピューターを2分間スリープ状態にするので、システムがスリープ状態およびウェイクアップできることはわかっていますが、それをスクリプトに転送しようとすることはまったく新しいことであり、Ubuntu/Linuxの知識は現時点では非常に限られています。それで、私がこれまでやってきたことを見てください。

これまでに実行したコマンドは次のとおりです。

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
madmiddle

テストコマンドで:

Sudo rtcwake -u -s 120 -m mem

-uにより、rtcwakeは、コンピューターのクロック(BIOS内)がUTC時間に設定されていると想定します。ただし、相対時間(この場合は120秒)をテストする場合、クロックが設定される時間は実際には問題ではないため、とにかく機能します。

Cronによって実行されるスクリプトは-lオプションを使用するため、コンピューターの時計が現地時間に設定されていると想定してrtcwakeが発生します。

どちらの場合でも、使用するオプションと実際のBIOS設定を確認する必要があります。 rtcwakeを絶対時間でテストするには、-tオプションを使用します。

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

コンピューターの時計が現地時間に設定されていると仮定しました。

乾杯

1
romed

ここで説明されているように、systemdを使用してシステムをサスペンドおよびウェイクすることもできます。 systemd でスケジュールされたサスペンドおよびレジューム

ただし、systemdはバージョン15.04以降のubuntuでのみ使用可能です。

乾杯

0
romed