我有一臺ubuntu 14服務器,我想在接下來的10個小時內關閉,然後自行啓動。如何安排服務器啓動?
我看到我們可以安排重新啓動,但是我們可以安排一個啓動事件嗎?
我要的是:
- 服務器是
- 服務器進入睡眠狀態X小時,知道它有X小時後醒來
- 服務器睡着
- X小時通
- 服務器自行啓動。
這可能嗎?
我有一臺ubuntu 14服務器,我想在接下來的10個小時內關閉,然後自行啓動。如何安排服務器啓動?
我看到我們可以安排重新啓動,但是我們可以安排一個啓動事件嗎?
我要的是:
這可能嗎?
有一個命令rtcwake
應該做你想做的。例如,要讓電腦進入睡眠狀態60秒,請嘗試使用sudo rtcwake -u -s 60 -m mem
這是我實施的解決方案,我有一臺家用服務器,我想在早上8點和上午12點之間運行 - 我不會在睡着的時候使用它。下面是一個shell腳本,我簡單地命名爲nap,它需要一個24H格式的字符串,並在此時使用命令rtcwake命令喚醒機器。
關閉系統時,只需撥打/bin/nap
而不是關機,它會在您定義的時間醒來。
用一個cronjob我所建立在午夜
運行相結合0 0 * * * root /bin/nap
自實施以來,我的服務器已經有一個更好的睡眠/覺醒週期,然後一
這個不幸的一部分,是如果您使用電源按鈕關閉機器,則不會在早上醒來時。
#!/bin/sh
# unix time in s that we should wake at
waketime=$(date +%s -d '08:00')
# make sure the time we got is in the future
if [ $(date +%s) -gt $waketime ]; then
# if not add a day 60s * 60s * 24h
waketime=$(($waketime + 86400))
fi
# time in S from now till then
dif=$(($waketime - $(date +%s)))
# tell the user
echo
echo "Current Time : $(date +%s)"
echo "Wake Time : $waketime"
echo "Seconds From Now : $dif"
echo
echo "Crtl-C to Cancel in 5s"
echo
sleep 5
# sleep with rtcwake
/usr/sbin/rtcwake -m off -l -s $dif
echo "Shutdown."
AFAIK只能在BIOS中設置喚醒警報,但並非所有人都支持喚醒警報。 – Kenney