簡體   English   中英

帶有 --exclude 標志的 rsync 不起作用?

[英]rsync with --exclude flag is not working?

我一直在努力解決這個問題,我想在執行 rsync 時排除一個目錄,但它沒有被排除。 您能否在這種情況下提供幫助,問題出在哪里以及如何解決? 謝謝

#!/bin/bash
SRC="/home/nnice/Desktop/Scripts/"
DST="/home/nnice/Desktop/Personal/Linux/Notes/My_Fedora_Desktop/Scripts/"
EXCLUDE="{'*.log','/home/nnice/Desktop/Scripts/XDM/'}"
rsync --delete -P -arcvzh --exclude=${EXCLUDE} $SRC $DST
#rsync --delete -P -arcvzh --exclude={'*.log','/home/nnice/Desktop/Scripts/XDM/'} $SRC $DST

XDM 目錄仍在同步中。 而且我不想使用 --exclude-from 標志。 我低於 output,這表明 XDM 目錄正在同步。

sending incremental file list
./
XDM/
XDM/install.sh
         55.35M 100%  338.16MB/s    0:00:00 (xfr#1, to-chk=6/96)
XDM/readme.txt
            650 100%    4.07kB/s    0:00:00 (xfr#2, to-chk=5/96)
XDM/xdm-setup-7.2.11.tar.xz
         55.34M 100%  165.46MB/s    0:00:00 (xfr#3, to-chk=4/96)

sent 110.71M bytes  received 116 bytes  221.43M bytes/sec
total size is 110.75M  speedup is 1.00

rsync 不理解排除過濾器中的大括號。 每個排除都采用一個規則。

大括號實際上被 bash 解釋為大括號擴展 但是,這種擴展不會發生在帶引號的字符串內。

僅列出多個排除選項會更簡單。

但是,如果您想使用大括號快捷方式,您可以執行以下操作:

#!/bin/bash
SRC="/home/nnice/Desktop/Scripts/"
DST="/home/nnice/Desktop/Personal/Linux/Notes/My_Fedora_Desktop/Scripts/"
EXCLUDE=( --exclude={'*.log','/home/nnice/Desktop/Scripts/XDM/'} )
rsync --delete -P -arcvzh "${EXCLUDE[@]}" $SRC $DST

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM