wol设定

wol设定

参考 https://zhuanlan.zhihu.com/p/666676538

  • 搞一个名为wol的脚本:
1
vim wol.sh
  • 粘贴以下内容(已包含网络设备自动识别):
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash

# 判断系统发行版
if [ -f /etc/redhat-release ]; then
    DISTRO="centos"
elif cat /etc/issue | grep -q -E "Debian"; then
    DISTRO="debian"
elif cat /etc/issue | grep -q -E "Ubuntu"; then
    DISTRO="ubuntu"
elif cat /etc/issue | grep -q -E "Proxmox"; then
    DISTRO="debian"
else
    echo "无法识别发行版,请检查!"
    exit 1
fi

# 安装 ethtool
case "$DISTRO" in
    centos)
        yum -y install ethtool net-tools
        ;;
    debian|ubuntu)
        apt-get update
        apt-get -y install ethtool net-tools
        ;;
    *)
        echo "不支持的发行版: $DISTRO"
        exit 1
        ;;
esac

# 获取网络设备名并编号
echo "检测到以下网络设备:"
ip link show | awk -F ': ' '/^[0-9]+:/{print $1 ": " $2}'

# 提示用户选择网络设备
read -p "请输入要配置的网络设备编号: " CHOICE

# 获取用户选择的设备名
DEVICE=$(ip link show | awk -F ': ' '/^[0-9]+:/{print $2}' | sed -n "${CHOICE}p")

# 确认用户选择
read -p "您选择的设备是: $DEVICE,是否确认?(y/n): " CONFIRM

if [[ "$CONFIRM" != "y" ]]; then
    echo "操作已取消。"
    exit 1
fi

# 生成服务文件
cat >/etc/systemd/system/wol.service<<EOF
[Unit]
Description=Configure Wake On LAN
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s $DEVICE wol g

[Install]
WantedBy=basic.target
EOF

# 启用服务
sudo systemctl enable wol.service
sudo systemctl start wol.service

echo "WOL配置完成,请关闭计算机后测试启用情况"

完成后输入:wq保存退出

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计