lftp는 구문 혼란을 제거합니다.

lftp는 구문 혼란을 제거합니다.

해당 웹 사이트에서 lftp에 대해 제공된 구문 설명이 혼란스럽습니다.

-x RX,   --exclude=RX              exclude matching files
-X GP,   --exclude-glob=GP         exclude matching files

미러링 프로세스에서 특정 파일을 어떻게 제외합니까?

--exclude filea --exclude fileb --exclude filec
--exclude filea fileb filec
--exclude ./filea ./fileb filec

Google에서도 검색했지만 제외 문의 예를 찾을 수 없나요? !

답변1

-x RX와 일치하는 Regular eXpression경우 egrep()및 일치 -X GX하는 Glob Pattern경우는 본질적으로 일반적인 문자 일치입니다.*. 예를 들어:

# To exclude .svn directories use:
mirror -e -x ^\.svn/$ /myhome/ /elsewhere

# To exclude all folders starting with a dot:
mirror -e -x /\..+/$ /myhome/ /elsewhere

# To exclude all *.bin AND *.so files:
mirror -e -X *.bin -X *.so /myhome/ /elsewhere

보시다시피, 제가 아는 한 목록을 제공할 수 없기 때문에 각 파일 유형에 대해 -X를 사용해야 합니다.

답변2

내 (검증되고 유효한) 의견은 다음과 같습니다.

포함되지 않습니다:

  • 숨겨진 폴더 및 파일(.git도 포함)
  • scripts/ - 폴더(저는 저장합니다 deploy.sh)
  • 다양한 활성/위험/준비/피상적 파일(참고: 파이프 | 연산자 make(her: 내부, 작은따옴표)가 있는 regExp가 필요함)

배포.sh

#!/usr/bin/env bash

# switch to script parent dir == project dir
cd "$(dirname $(dirname $0))"

if ! [[ "$PWD" =~ \/myproject$ ]]; then
    echo "you are not in the myproject folder!"
    exit 1
fi

# a (relatively) good place to store your credits (outside repo, ...)
read FTPCREDITS < ~/.ssh/creds/FTPCREDITS

if [ -z "$FTPCREDITS" ]; then
    echo "Could NOT read credits. Exiting."
    exit 2
fi

좋아요, 마지막으로:

lftp -c "set ftp:list-options -a;                                  \
    open $FTPCREDITS;                                               \
    lcd .;                                                         \
    mirror --reverse --delete --use-cache --verbose --allow-chown  \
    --allow-suid --no-umask --parallel=2                           \
    -x '^\.' -x '^script\/'                                        \
    -x '\.(psd|rev|log|cmd|bat|pif|scr|exe|c?sh|reg|vb?|ws?)$'     \
    ;                                                              \
    close -a;"

테스트에 적합:

  • --dry-run (자연)
  • ./script/deploy.sh | grep Transferring더 많은 관련 콘텐츠 보기

관련 정보