[英]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.