WOL upstart 腳本在重新啟動後不會執行 12.04.4

WOL upstart 腳本在重新啟動後不會執行 12.04.4

我正在嘗試啟用 WOL 並遵循以下答案:如何永久啟用區域網路喚醒?

根據鏈接,我建立了一個新貴作業以在重新啟動時啟用 WOL。腳本是:

start on started network

script
for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
done
end script

將腳本命名為wakeonlan.conf,它位於/etc/init/中。我可以透過以下方式開始工作:

   sudo service wakeonlan start

這會成功啟動並且在 eth0 上啟用 WOL。

但是,重新啟動後,upstart 作業無法啟動。 wakeonlan.log 顯示:

Cannot get current wake-on-lan settings: Operation not supported
not setting wol

我不知道下一步該做什麼?

答案1

首先,ubuntu 12.04 上沒有名為「network」的作業。你應該改用started networking

接下來,也許將其作為實例作業會有所幫助。嘗試這個:

start on net-device-up

instance $IFACE

task

pre-start exec logger -t 'wakeonlan init script' enabling wake on lan for $IFACE

exec ethtool -s $IFACE wol g

我認為正在發生的情況是 /proc/net/dev 中的一個介面不支援 wol,因此您的工作不會繼續處理其餘介面。上述作業將為每個介面單獨開啟 wol,因此一個失敗不會影響其他介面。此外,當您的介面在啟動後啟動(熱插拔)時,此工作即可發揮作用。

相關內容