一、简介:
设备信息:研域M61(处理器:3855U)
DSM版本:7.1
产品型号:DS918+
二、解决关机问题
使用任务计划,利用sh脚本不间断ping其他网络设备来判断市电是否断开。
控制面板 - 服务 - 任务计划 - 新增 - 计划的任务 - 用户定义的脚本
任务名称(自定义)- 用户账号(root)- 计划(日期:每天、时间:00:00~23:55每隔五分钟)- 任务设置(用户定义脚本输入以下代码)
代码如下:
MonitorIP=192.168.1.1
DelayTime=180s
if ping $MonitorIP -c 4 | grep '100% packet loss' > /dev/null
then
echo "Power off."
synologset1 sys warn 0x11600036
sleep $DelayTime
if ping $MonitorIP -c 4| grep '100% packet loss' > /dev/null
then
ehco "Shut down."
synologset1 sys warn 0x11600037
poweroff
else
ehco "Power recovery."
synologset1 sys warn 0x11600035
fi
else
echo "Power on."
fi
然后确定保存即可
注意:请将顶部IP地址更改为自己想要ping的IP(不推荐主要网络设备,如路由器、电脑等)
三、解决开机问题
- 在解决这个问题之前,请先将您的群晖设置内和bios网络唤醒功能打开
- 如果您有使用openwrt或者老毛子等固件的路由器并且设备没有插在UPS可根据网上教程添加一个开机后WOL网络唤醒计划任务即可。
如果您和我一样设备插在了UPS或者设备不支持计划任务shell脚本请看下面:
- 我目前使用的是树莓派唤醒,因为树莓派是插电就开机的设备(后期会换成esp8266等)
- 请先保证树莓派和NAS是在同一局域网内
用ssh连接树莓派,安装wakeonlan
sudo apt install wakeonlan
打开/usr/local/bin文件夹
cd /usr/local/bin
创建sh文件,并写入唤醒内容
sudo nano wol.sh
输入以下内容
内容中含有bark推送功能,如果没有或不需要可自行删除
#!/bin/bash
# 检测是否连接到局域网(自行更换自己的网关地址)
ping -c 3 192.168.1.1 > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "已连接到局域网"
# 使用WOL唤醒设备
wakeonlan 00:30:18:50:AC:9D
#此处mac地址换成自己的nas地址
echo "已发送唤醒信号给 00:30:18:50:AC:9D"
sleep 300
# 检测是否能够ping通设备(自行更换自己的群晖IP)
ping -c 2 192.168.1.2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "设备 192.168.1.2 可以被ping通"
echo "正在通过curl访问URL通知设备已被唤醒,请注意运行状况..."
curl -X GET http://这边是你的bark推送链接/NAS设备已被唤醒,请注意运行状况
else
echo "设备 192.168.1.2 无法被ping通,等待 300 秒后再次尝试"
sleep 300
ping -c 2 192.168.1.2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "设备 192.168.1.2 可以被ping通"
echo "正在通过curl访问URL通知设备已被唤醒,请注意运行状况..."
curl -X GET http://这边是你的bark推送链接/NAS设备已被唤醒,请注意运行状况
else
echo "设备 192.168.1.2 无法被ping通"
echo "正在尝试通过curl访问URL通知未被唤醒,请手动开机..."
curl -X GET http://这边是你的bark推送链接/NAS未被唤醒,请手动开机
fi
fi
else
echo "未连接到局域网"
fi
echo "脚本执行完成,退出..."
exit 0
完成以上步骤后 CTRL+O 回车保存 CTRL+X退出
赋予可执行权限赋予可执行权限
sudo chmod +X wol.sh
添加sh的开机启动添加sh的开机启动
编辑cron表编辑cron表
sudo crontab -e
在最后一行添加在最后一行添加
@reboot sleep 20 && /usr/local/bin/wol.sh
完成以上步骤后 CTRL+O 回车保存 CTRL+X退出
在此所有步骤已全部完成,请先自行测试再正式启用。