Rsync 從 root 排除

Rsync 從 root 排除

我對 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/*"

相關內容