Backup

遞歸複製大量文件導致我的外置硬碟出現發熱問題

  • July 12, 2017

情況:

我想遞歸地將目錄複製到外部硬碟驅動器。該目錄包含很多文件(至少 100,000 個)。

問題:

外部硬碟驅動器在我的任務中大量使用時往往會變得很熱(使用超過幾個小時)。這對預期壽命不利。因此,由於在我的情況下時間不是問題,我希望在復製文件之間進行一些休息,以使驅動器冷卻一點。

目前我使用ionice -c3 nice nice cp -r它至少減少了所有其他正在執行的任務的性能損失。但它並沒有解決散熱問題。

有什麼建議麼?

cp可以使用其他命令rsync(如果適用於命令行),但到目前為止,我找不到任何允許我在每個文件副本之間等待 x 秒的命令或選項。


附加資訊: 外部硬碟驅動器是數據的最終目的地,不是將數據傳輸到另一台電腦的方式。

不是特別優雅,但你可以執行你的複制命令,然後執行一個循環來暫停它,比如每 20 分鐘 3 分鐘:

  1. 在後台啟動您的複制命令
cp -r /path/to/dir /path/to/external/drive &
  1. 執行此循環將停止/重新啟動它:
while ps -p $! >/dev/null; do 
   kill -SIGCONT $!; 
   sleep 20m; 
   kill -s SIGSTOP $!; 
   sleep 3m; 
done

rsync可以選擇限制吞吐量;例如 --bwlimit=1是 1 千字節/秒。使用 KM 或 G 的後綴來乘以數字,預設值為 K。手冊頁討論了套接字,但它也適用於本地副本。

您可以嘗試sudo smartctl -a /dev/sdx在磁碟 sd x上執行以查看是否有任何跡象表明它遭受過熱,但並非所有磁碟和匯流排都實施 SMART。

您可以嘗試hdparm -M 128(檢查您的手冊頁以獲取此命令的版本)在磁碟上進行聲學管理,這應該會減慢磁頭移動以減少噪音,但也會減少熱量。

引用自:https://unix.stackexchange.com/questions/294209