OpenWrt固件自动休眠外接移动硬盘脚本OpenWrt安装硬盘休眠插件解决定时休眠无效
此方法适合固件里没有包含 硬盘休眠 功能的固件,推荐几款已经包括 硬盘休眠 功能的固件
也可以自己编译支持硬盘休眠的固件,参考下面的说明
LuCI -> Applications添加插件应用说明,找到LuCI ---> Applications ---> luci-app-hd-idle #硬盘休眠编译的时候记得选择上编译。
编译固件的方法《OpenWRT(LEDE)固件编译自定义软件包编译固件添加插件》
OpenWrt固件手动安装硬盘休眠插件
如果你在你的路由器上外接了一块硬盘,而你又不是一直在使用它,你可能会想要自动休眠这块硬盘。一是为了减少噪音,二是为了减少热量以避免高温对硬盘造成伤害。
这篇介绍的方法可能不适用于每一个路由器。
图片是LEDE固件的硬盘休眠截图
hd-idle
首先,你应当尝试使用 hd-idle,它会休眠通过 SCSI 层访问的硬盘。安装并测试它是否能够休眠硬盘(假设你的硬盘是 /dev/sda):
opkg install hd-idle hd-idle -t sda
如果你听到你的硬盘停转了,接着你就可以去自定义它的配置了,配置文件是 /etc/config/hd-idle
hdparm
如果 hd-idle 不工作,那就尝试一下 hdparm:
opkg install hdparm hdparm -y /dev/sda
如果这次你听到了硬盘停转,那就去创建一个脚本文件 /etc/spindown 以便启动 hdparm:
#!/bin/sholdstate=''n="$2"while :; do sleep 60 newstate=$(grep "$1" /proc/diskstats) if [ "$newstate" = "$oldstate" ]; then n=$(($n - 1)) [ "$n" != 0 ] || hdparm -y /dev/"$1" else n="$2" oldstate=$newstate fidone &
接着给脚本添加执行权限:
chmod 777 /etc/spindown
然后添加以下内容到 /etc/rc.local(假设你的硬盘是 /dev/sda 并且设定闲置 20 分钟后休眠硬盘):
/etc/spindown sda 20
一个更简单的方法是:如果 hdparm -y /dev/sda 工作,可以只将以下内容插入 /etc/rc.local 中:
hdparm -S 240 /dev/hda
其中 240 代表 20 分钟,时间编码的设置可以自行搜索 hdparm 的参数设置。
sdparm
第三个尝试的方法是使用 sdparm:
opkg install sdparm sdparm -f -C stop /dev/sda
如果这次你听到硬盘停转了,那么就使用和 hdparm 一样的脚本文件 /etc/spindown,但是需要将以下行替换:
[ "$n" != 0 ] || hdparm -y /dev/"$1"
为:
[ "$n" != 0 ] || sdparm -f -C stop /dev/"$1"
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看