rsync에서 모든 점 밑줄 파일을 제외합니다.

rsync에서 모든 점 밑줄 파일을 제외합니다.

rsync -av점 밑줄( )로 ._example.txt시작하는 모든 파일을 사용 하되 제외하고 .DS_Store파일을 무시하는 방법은 무엇입니까?

답변1

당신은 시도 할 수 있습니다--exclude="<filePattern>"

rsync -av --exclude="._*" --exclude=".DS_Store" <source> <destination>

답변2

를 사용하면 이름이 밑줄로 시작하는 모든 파일과 디렉터리가 무시 --exclude='._*'됩니다 . rsync를 사용하면 --exclude='.DS_Store'다른 유형의 파일은 무시됩니다.

답변3

여러 옵션으로 명령줄을 복잡하게 만들지 않고 여러 제외 규칙을 가지려면 제외할 패턴을 나열하는 파일 과 함께 이 옵션을 --exclude사용할 수 있습니다 .-F.rsync-filter

-F     The -F option is a shorthand for adding two --filter rules to your command.
       The first time it is used is a shorthand for this rule:

         --filter='dir-merge /.rsync-filter'

       This tells rsync to look for per-directory .rsync-filter files that have
       been sprinkled through the hierarchy  and  use  their rules to filter the
       files in the transfer.

.rsync-filter다음은 백업할 폴더의 루트에 있는 파일의 예입니다.

- /temp
- /lost+found

# Windows thumbnails
-p Thumbs.db

# MS Office temporary files
-p ~$*

# common Mac junk
-p .TemporaryItems
-p .DS_Store
-p ._*

p다음 수정자는 -"부패 가능"을 의미하며, 이로 인해 rsync가 대상에서 제외된 파일도 삭제하게 됩니다.

답변4

._*일치하는 파일 및 디렉터리 를 제외하려면 .DS_Store이전 답변 중 하나로 충분합니다.

rsync -av --exclude='._*' --exclude='.DS_Store' src dst

반면에 질문에 정확히 대답하기 위해 이 코드 조각은 다음 _*과 일치하는 디렉터리를 포함하면서 기준과 일치하는 파일을 제외합니다 .DS_Store.

rsync -av --include '.DS_Store/' --include '._*/' --exclude '.DS_Store' --exclude '._*' src dst

실제 사례

# Set up the example directory tree
mkdir -p src/a/.DS_Store src/a/._example.dir dst
touch src/.DS_Store src/._example.txt src/a/.DS_Store/keep src/a/._example.dir/keep src/item src/a/another

# Show what we have
find src -type f

    src/.DS_Store
    src/._example.txt
    src/a/.DS_Store/keep
    src/a/._example.dir/keep
    src/a/another
    src/item

# Copy it. Omit matching files but keep the directories
rsync -av --include '.DS_Store/' --include '._*/' --exclude '.DS_Store' --exclude '._*' src/ dst

    sending incremental file list
    ./
    item
    a/
    a/another
    a/.DS_Store/
    a/.DS_Store/keep
    a/._example.dir/
    a/._example.dir/keep

# Tidy up
rm -rf src dst

관련 정보