명령줄에서 ftp 클라이언트를 통해 로컬 폴더의 일부 파일을 원격 폴더로 업로드하고 싶습니다.원격 전송 프로토콜.
내가 원하는 것은:
내 로컬 컴퓨터에는 다음이 있습니다.
me@local $ tree
my-site
├── index.html
└── css/
FTP 서버에 액세스할 때 원하는 것은 다음과 같습니다.
me@ftp_server $ tree
dev-site/
├── index.html
└── css/
내가 하고 싶은 일은 로컬을 업로드하는 것입니다.콘텐츠디렉터리 자체 는 아니지만 my-site
원격 디렉터리에 대한 디렉터리입니다 . 그래서 파일을 업로드하고 이 디렉터리 접두사 이름을 제거하고 싶습니다.dev-site
my-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