家里路由器用久了卡顿、Wi-Fi时断时续,手动重启太麻烦?想每天早上8点自动测一次宽带速度,看看运营商有没有偷偷降速?这些事,不用买新设备,写几行脚本就能搞定。
脚本不是程序员专利
很多人一听“写脚本”就想到黑窗口、满屏代码。其实家庭网络场景下,脚本就是一段能自动执行的小指令。你家的路由器(比如华硕、小米、OpenWrt)、NAS(群晖、威联通),甚至一台闲置的树莓派或老笔记本,都能跑脚本。
先搞懂你手里的“工具箱”
大多数家用路由器后台支持 SSH 登录,打开后就能用 Linux 命令。群晖 DSM 有 Task Scheduler,威联通有 QNAP QTS 的计划任务,都支持直接填入 Shell 脚本。别怕命令行——你只需要记住三句常用命令:
reboot:重启设备ping -c 4 www.baidu.com:测连通性speedtest-cli --simple:测网速(需提前安装)
举个真能用的例子:每周日凌晨自动重启路由器
登录你的 OpenWrt 路由器(用 PuTTY 或终端输入 ssh root@192.168.1.1),新建一个脚本:
#!/bin/sh
# 文件名:/root/auto_reboot.sh
echo "$(date): 开始重启路由器" >> /root/reboot.log
reboot保存后加执行权限:chmod +x /root/auto_reboot.sh。再用 crontab 安排时间:
# 输入 crontab -e,添加这一行:
0 3 * * 0 /root/auto_reboot.sh意思是:每周日凌晨3点整运行这个脚本。从此再也不用手动拔电源了。
再进一步:定时测速并存日志
在群晖上装好 speedtest-cli 后,建个脚本 /volume1/scripts/speedtest.sh:
#!/bin/bash
DATE=$(date +"%Y-%m-%d %H:%M")
RESULT=$(speedtest-cli --simple 2>/dev/null)
if [ -n "$RESULT" ]; then
echo "$DATE: $RESULT" >> /volume1/logs/speedtest.log
else
echo "$DATE: 测速失败" >> /volume1/logs/speedtest.log
fi然后在 DSM「计划任务」里设成每天上午9点执行。一个月后,你就有一份自家宽带的真实表现记录。
小提醒
第一次写脚本,别追求一步到位。先抄上面的例子,改改 IP 地址、时间、路径,能跑通再说。出错时看报错信息比百度更管用——比如提示 command not found,大概率是没装对应工具;提示 Permission denied,记得补上 chmod +x。脚本写多了,你会发现:让网络自己干活,比天天盯着它省心多了。