WOL upstart 脚本不会在重启 12.04.4 时运行

WOL upstart 脚本不会在重启 12.04.4 时运行

我正在尝试启用 WOL 并遵循以下答案:我如何才能永久启用网络唤醒功能?

根据链接,我创建了一个 upstart 作业以在重启时启用 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,因此一个接口失败不会影响其他接口。此外,当您的接口在启动后(热插拔)启动时,此作业会起作用。

相关内容