完全關閉Ubuntu並遠端喚醒它

完全關閉Ubuntu並遠端喚醒它

我最近購買了一台 8 核心、32 GB 記憶體的 HP Z420,並將其設定為 Ubuntu 18.04 伺服器。由於它消耗大量電量,我現在使用即時喚醒每晚 11 點讓它入睡。

由於我很少在工作日訪問它,除了偶爾遠端登入以試驗 VBox VM、docker 容器和 docker 機器等,因此我希望將其保持在睡眠到記憶體模式,並僅使用喚醒功能遠端喚醒它-lan 當我需要訪問它時。

這樣的安排可以嗎?

答案1

完全關閉Ubuntu並遠端喚醒它

完全關閉伺服器

該解決方案與問題不同,因為它完全關閉伺服器。它不會使其進入睡眠/掛起或休眠狀態。

要關閉 Ubuntu 18.04,必須滿足以下條件:

  • 伺服器必須能夠ssh從另一台(本地)電腦存取。

我使用以下命令從本地電腦關閉伺服器:

ssh -t server.address "sudo /sbin/shutdown -h +1"

其中 server.address 是伺服器的 IP 位址或其網域名稱。此-h選項會關閉伺服器電源。該+1選項是延遲一分鐘。

從 Raspberry Pi 進行 LAN 喚醒

安裝etherwake在樹莓派中。確保 Pi 和 Ubuntu 伺服器透過乙太網路電纜連接。

在 Ubuntu 伺服器上使用以下命令來尋找 LAN 連接埠的 MAC 位址:

ifconfig

它看起來像:

ether AA:BB:CC:DD:EE:FF   txqueuelen 1000  (Ethernet)

從 Pi 使用以下指令:

sudo etherwake -i eth0 AA:BB:CC:DD:EE:FF

其中eth0是 Pi 的乙太網路端口,AA:BB:CC:DD:EE:FF是 Ubuntu 伺服器的乙太網路端口的 MAC 位址。

我寫了一個小腳本來保存 Pi 中的一些輸入:

#!/bin/bash
# wake.sh

if ping -c 1 10.42.0.1 &> /dev/null
then
  echo "Server is ON already!"
else
  echo "Turning Server ON now."
  etherwake -i eth0 AA:BB:CC:DD:EE:FF
fi

其中 10.42.0.1 是 Ubuntu 伺服器的 IP 位址。若要使用此腳本:

  1. 將腳本儲存在 Pi 上,並在 Pi 的主資料夾中命名為wake.sh。
  2. 在已儲存的腳本中編輯Ubuntu伺服器的IP位址和MAC位址。
  3. 使腳本可執行。

最後,使用以下命令呼叫腳本:

sudo ./wake.sh

希望這可以幫助

相關內容