在法國用 QNAP 跑 rsync 備份到外接硬碟的實測

这篇内容暂时只有 繁體中文 版本,以下是原文。

用的是 QNAP TS-253D,QTS 5.1,兩顆 4TB 做 RAID1,資料大概 1.8TB,主要是照片和專案 archive。外接是一顆 4TB 的 WD My Book,走 USB 3.0。現象是:用 File Station 手動複製到外接碟,複製到一半常常卡住,進度條不動,等十幾分鐘才跳錯,錯誤訊息只說寫入失敗,沒有更多線索。

我的做法是放棄 GUI,改用 rsync 排程,透過 SSH 進 NAS 建一個 shell script,放在 /share/homes/admin/bin/backup.sh:

#!/bin/sh
SRC=/share/Photo
DST=/share/external/MyBook/Photo
LOG=/share/homes/admin/log/backup-$(date +%Y%m%d).log

rsync -av --delete --partial \
  --exclude='@Recycle' \
  --exclude='.@upload_cache' \
  "$SRC/" "$DST/" >> "$LOG" 2>&1

排程用 cron,避開白天用網路的時段,凌晨 3 點跑。第一次跑之前先手動執行一次 rsync -av --dry-run,確認檔案清單沒有怪東西,特別是 @Recycle 和縮圖快取,這兩個目錄不排除會多複製幾十 GB。

為什麼這樣做:File Station 的複製沒有斷點續傳,一失敗就整個重來,而且錯誤訊息太少。rsync 的 –partial 讓中斷後能接續,–delete 讓外接碟跟來源保持一致,代價是來源端誤刪的檔案會同步消失,所以我在外接碟另外留了一個 monthly 目錄,每個月手動放一份快照,不做 –delete。

會失效的地方:外接碟如果睡著,USB 重新枚舉,rsync 會直接失敗,log 裡看到的是 I/O error,不是權限問題,我一開始還以為是資料夾權限設錯,查了半天。解法是在 script 開頭先 touch 一個檔案喚醒碟,或改用 hdparm -S 0 關掉休眠,但這樣外接碟會一直轉,溫度不低。另一個坑是 exFAT 格式,rsync 的權限和時間戳會失真,我一開始用 exFAT,後來重新格式化成 ext4 才正常,代價是 Windows 電腦讀不到,要另外想辦法。

你們在法國這種潮濕、夏天又熱的環境,外接備份碟是長期接著還是用完就拔?我現在是長期接著,但有點擔心溫度和壽命。

0
赞同度 100% · 0 条评论 · 3 阅读

0 条评论

支持 Markdown · 回复会实时推送给对方

还没有评论,写下第一条。