
我對 rsync 的排除感到困惑。
我正在嘗試備份以 / 開頭的所有內容,但排除 /media/ /mnt/ /home/files/ 和 /home/backup
sudo rsync -a \
--progress \
--stats \
--exclude-from=/home/files/ \
--exclude-from=/media/ \
--exclude-from=/mnt/ \
--exclude-from=/home/backup/ \
/ /home/backup
行不通。
我最終將文件複製到/home/backup/home/backup/... 我讀到我必須寫相對於我的傳輸根的排除,但我猜如果/ 是我的傳輸根,那麼/media/ 應該相對於對嗎?
答案1
man rsync
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
except-from 用於指向列出您不需要的資料夾的檔案。嘗試選項--排除
答案2
你的文法不正確;這就是為什麼它不起作用。
你說:
--exclude-from=/home/backup/
當你應該簡單地說
--exclude="/home/backup/*"
另外,您沒有使用
--delete-excluded
可以同步目錄的開關。
至於你最後的問題:是的,在你的情況下,你指定/
為 rsync 的開始。因此,如果您排除,"tmp/*"
那麼它確實是相對於的/
,所以它與指定相同"/tmp/*"