正文索引 [隐藏]

前言

偶尔在外需要连到家里PC,但不可能一直开机吧,所以使用在家里24小时运行的linux服务器对PC进行开关机管理。

WOL远程唤醒

首先要BIOS设置好网络唤醒,每个厂商都不一样这里就不多说了。

#安装etherwake
apt install etherwake
#发送魔术包唤醒
wakeonlan MAC

远程关机&重启

#安装samba-common
apt install samba-common
#关机
net rpc shutdown -I IPADDRESS -U USERNAME%PASSWORD -t 0
#600秒后关机
net rpc shutdown -I IPADDRESS -U USERNAME%PASSWORD -t 600
#重启
net rpc shutdown -I IPADDRESS -U USERNAME%PASSWORD -r
#取消关机
net rpc abortshutdown -I IPADDRESS -U USERNAME%PASSWORD

windows权限设置

打开 secpol.msc

添加执行关机命令的用户名

shell脚本

为了方便我写了个shell脚本来执行, 按实际情况修改

#!/bin/bash
while [ -n "$1" ]
do
	case "$1" in
	start)   wakeonlan F4:B5:20:0A:CC:BA 
		  echo "start...";;
	stop)    time=$2
		  net rpc shutdown -I 192.168.1.3 -U HXF%password -t $time
		  echo "stop after $time seconds..."
	          shift ;;
	restart) net rpc shutdown -I 192.168.1.3 -U HXF%password -r
		  echo "restart...";;
	abort)   net rpc abortshutdown -I 192.168.1.3 -U HXF%password
		  echo "abort...";;
	*)  echo "undefined option";;
	esac
	shift
done

参考文章