Backup
遞歸複製大量文件導致我的外置硬碟出現發熱問題
情況:
我想遞歸地將目錄複製到外部硬碟驅動器。該目錄包含很多文件(至少 100,000 個)。
問題:
外部硬碟驅動器在我的任務中大量使用時往往會變得很熱(使用超過幾個小時)。這對預期壽命不利。因此,由於在我的情況下時間不是問題,我希望在復製文件之間進行一些休息,以使驅動器冷卻一點。
目前我使用
ionice -c3 nice nice cp -r
它至少減少了所有其他正在執行的任務的性能損失。但它並沒有解決散熱問題。有什麼建議麼?
cp
可以使用其他命令rsync
(如果適用於命令行),但到目前為止,我找不到任何允許我在每個文件副本之間等待 x 秒的命令或選項。附加資訊: 外部硬碟驅動器是數據的最終目的地,不是將數據傳輸到另一台電腦的方式。
不是特別優雅,但你可以執行你的複制命令,然後執行一個循環來暫停它,比如每 20 分鐘 3 分鐘:
- 在後台啟動您的複制命令
cp -r /path/to/dir /path/to/external/drive &
- 執行此循環將停止/重新啟動它:
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
(檢查您的手冊頁以獲取此命令的版本)在磁碟上進行聲學管理,這應該會減慢磁頭移動以減少噪音,但也會減少熱量。