~처럼hdparm
작동하지 않습니다내 USB 외장 드라이브(너무 일찍 회전함)의 경우 간단한 스크립트를 사용하여 수동으로 대기 제어를 시뮬레이션하고 싶습니다. 아이디어는 다음과 같습니다.
- 디스크 I/O 모니터링
- 일정 시간 동안 스크립트 자체 이외의 다른 프로세스에서 I/O가 없을 때 디스크를 활성 상태로 유지하기 위해 가상 I/O를 생성합니다.
- 잠시 후 드라이브 속도를 늦추십시오.
- 가상 I/O는 기껏해야 실제로 디스크에 아무것도 읽거나 쓰지 않아야 하지만(마모 생성 메커니즘을 이동) 일부 상태 등을 읽을 수도 있습니다.
저는 Bash 스크립팅에 대한 경험이 많지 않고 어떤 명령을 사용할 수 있는지 모릅니다. 어떤 제안이 있으십니까? 시스템은 아치리눅스입니다.
답변1
(나는 이 질문이 2년이 넘었다는 것을 알고 있지만 문제는 여전히 존재합니다)
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로 포맷되어 있습니다.)
이것은 같은 행동입니다Windows용 KeepAliveHD가지다.
설명된 OP와 같이 더 나은 방법으로 수행할 수 있지만 지금은 없는 것보다 낫습니다.
답변2
Google은 다음과 같은 영예를 누릴 자격이 있습니다.
#!/bin/bash
for ((N=0; N<10; N++))
do
dd if=gigabytefile of=/dev/null skip=$((RANDOM % 1024)) bs=$((1024*1024)) count=1
done