ハードドライブをアクティブに保つ簡単な方法は何ですか?

ハードドライブをアクティブに保つ簡単な方法は何ですか?

〜のようにhdparm 動作しません私のUSB外付けドライブ(早すぎる)の場合は、簡単なスクリプトを使用して手動でスタンバイ制御をシミュレートしたいと思います。アイデアは次のとおりです。

  • ディスクI/Oモニタリング
  • 一定期間スクリプト以外のプロセスでI/Oが存在しない場合にディスクをアクティブに保つために仮想I/Oを作成します。
    • しばらくしてドライブの速度を遅くしてください。
    • 仮想I / Oはせいぜい実際にディスクに何も読み書きしないでください(摩耗生成メカニズムを移動)、いくつかの状態などを読むこともできます。

私はBashスクリプトの経験が多くなく、どのコマンドを使用できるかわかりません。どんな提案がありますか?システムはアーチLinuxです。

答え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 では、次の栄誉を享受する資格があります。

http://www.unix.com/programming/161666-tool-simulate-non-series-disk-io-simulate-db-file-series-read-c-posix.html

#!/bin/bash
for ((N=0; N<10; N++))
do
        dd if=gigabytefile of=/dev/null skip=$((RANDOM % 1024)) bs=$((1024*1024)) count=1
done

関連情報