之前买了一个UPS,结果不支持群晖NAS的断电关机,又不能退,只能想办法利用起来。
目前考虑的是通过ping路由器,如果ping不通了代表断电了,则进行关机操作。
脚本如下:
| 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 | #!/bin/bash # 设置要ping的路由器IP地址 ROUTER_IP="192.168.1.1" # 设置ping的次数和超时时间 PING_COUNT=4 PING_TIMEOUT=5 # 日志文件路径 LOG_FILE="/var/log/power_check.log" # 函数:执行ping命令 function check_connection {     ping -c $PING_COUNT -W $PING_TIMEOUT $ROUTER_IP > /dev/null 2>&1     return $? } # 第一次检测网络连接 check_connection # 检查ping命令的返回值 if [ $? -ne 0 ]; then   # 第一次失败,等待2分钟后重试   sleep 120   check_connection   # 检查第二次ping命令的返回值   if [ $? -ne 0 ]; then     # 第二次还失败,记录日志并关机     echo "$(date): 网络连接中断,系统即将关机..." | tee -a $LOG_FILE     poweroff   else     echo "$(date): 第二次检测,网络连接恢复正常" | tee -a $LOG_FILE   fi else   echo "$(date): 网络连接正常" | tee -a $LOG_FILE fi | 
使用说明:
打开控制面板—任务计划—新增—计划的任务—用户定义的脚本,在常规选项卡,把用户改为root:

在计划选项卡这里,修改运行时间:

在任务设置这里,把上面的脚本放上去就行了~

本文最后更新于2024年7月3日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
		 马春杰杰
马春杰杰
 
					 
		 
		
这个看起来有点安逸
@王光卫博客 是的,方便简单~~