排除檔案清單中的通配符是為了表裡不一

排除檔案清單中的通配符是為了表裡不一

我試圖從備份中排除每個主目錄中的“批次”資料夾。為此,我有一條線

- /data/home/*/bulk

在我的排除文件列表文件中。

然而,這似乎沒有被認識到:

Warning: file specification '/data/home/*/bulk' in filelist exclude-list-test.txt
doesn't start with correct prefix /data/home/kay/bulk.  Ignoring.

有辦法嗎?

順便一提:該格式通常與 rsync 的排除相容嗎?我有一個工作排除列表,其中該通配符表達式起作用。

答案1

問題可能在於由於 rsync 的口是心非而錯誤地將帶有通配符的路徑傳遞給了 rsync。看下面的例子。這是透過腳本中的環境變數將排除傳遞給 rsync 的真實範例:

EXCLUDES="--exclude=/etc/blkid.tab --exclude=/root/dir1 --exclude='*.sql'"

請注意,引號 '' 用於分隔包含星號的條目,以防止 shell 擴展此通配符。嘗試在 except-list-test.txt 檔案中使用引號。

相關內容