作为hdparm
不起作用对于我的 USB 外部驱动器(它旋转得太早),我想通过一个简单的脚本手动模拟待机控制,其想法如下:
- 监控磁盘 I/O
- 当除了脚本本身之外,一段时间内没有来自其他进程的 I/O 时,生成虚拟 I/O 以保持磁盘处于活动状态
- 一段时间后让驱动器减速
- 虚拟 I/O 最多应该不是实际读取或写入磁盘的内容(因此会移动产生磨损的机制),但可能会读取一些状态等。
我在 Bash 脚本方面经验不足,不知道可以使用哪些命令。有什么建议么?系统是Arch Linux。
答案1
(我知道这个问题已经有两年多了,但问题仍然存在)
我正在为不尊重 smartctl 设置的驱动器使用以下代码:
#!/bin/bash
while :
do
date +%s > /second_drive/keepalive_linux.txt
sync
sleep 2
done
为了使其在启动时运行,我使用了:
EDITOR=nano crontab -e
并补充道:
@reboot bash /path/to/script.sh
(顺便说一下,驱动器是 NTFS 格式的)
这是同样的行为KeepAliveHD Windows 版有。
虽然可以用更好的方式来完成(就像OP所描述的那样),但现在总比没有好。
答案2
谷歌应该获得这一荣誉:
#!/bin/bash
for ((N=0; N<10; N++))
do
dd if=gigabytefile of=/dev/null skip=$((RANDOM % 1024)) bs=$((1024*1024)) count=1
done