lftp: 파일 업로드 시 폴더 접두사 제거

lftp: 파일 업로드 시 폴더 접두사 제거

명령줄에서 ftp 클라이언트를 통해 로컬 폴더의 일부 파일을 원격 폴더로 업로드하고 싶습니다.원격 전송 프로토콜.

내가 원하는 것은:

내 로컬 컴퓨터에는 다음이 있습니다.

me@local $ tree
my-site
├── index.html
└── css/

FTP 서버에 액세스할 때 원하는 것은 다음과 같습니다.

me@ftp_server $ tree
dev-site/
├── index.html
└── css/

내가 하고 싶은 일은 로컬을 업로드하는 것입니다.콘텐츠디렉터리 자체 는 아니지만 my-site원격 디렉터리에 대한 디렉터리입니다 . 그래서 파일을 업로드하고 이 디렉터리 접두사 이름을 제거하고 싶습니다.dev-sitemy-site

내가 시도한 것:

나는 이것을 시도했습니다 :

# On my local computer :
$ ls
my-site/
$ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p my-site/ dev-site/ ; quit"

안타깝게도 로컬 my-site디렉터리를 원격 디렉터리로 업로드합니다 dev-site. 예를 들면 다음과 같습니다.

# On my remote ftp server :
$ tree
dev-site/
└── my-site/
    ├── index.html
    └── css/

해결책:

이렇게 하면 예상대로 작동합니다.

# On my local computer :
$ cd my-site/
$ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p ./ dev-site/ ; quit"

하지만 그런 더러운 일은 피하고 싶어요 cd.

질문:

파일을 업로드할 때 디렉토리 접두어를 제거하여 디렉토리 자체가 아닌 디렉토리의 내용이 업로드되도록 하는 방법이 있습니까?

답변1

그렇다면 대상 FTP 디렉토리에 미러링할 때 마지막 슬래시가 없으면 어떻게 될까요?

lftp -u user,password -e 'mirror -R -p /home/user/my-site dev-site ; quit' ftp.foo.cmo

lftp 버전 3.7.3을 사용하면 다음과 같이 작동합니다.

adminnicolas@fw1:~$ lftp --version
LFTP | Version 3.7.3 | Copyright (c) 1996-2008 Alexander V. Lukyanov

관련 정보