
두 개의 웹 호스팅 패키지가 있습니다. 하나는 호스터 A의 패키지(A)이고 다른 하나는 다른 호스터 B(다른 네트워크)의 패키지(B)입니다. FTP를 통해 내 로컬 컴퓨터에서 웹호스팅 패키지 A 및/또는 웹호스팅 패키지 B로 파일을 전송할 수 있습니다.
이제 Hoster A에서 Hoster B로 폴더와 파일을 직접 전송하고 싶습니다. FXP를 시도했지만 호스팅 A와 B에서 허용하지 않았습니다(500 Illegal PORT Command). FXP를 허용하도록 설정을 변경할 수 없습니다(일반 웹호스팅 패키지이므로 SSH/루트 액세스 등이 없습니다).
내 로컬 컴퓨터(개인 컴퓨터)에서 FTP 클라이언트를 사용하여 호스터 A에서 콘텐츠를 다운로드하고 이를 호스터 B에 수동으로 다시 업로드할 수 있다는 것을 알고 있지만 시간이 오래 걸립니다(빅 데이터 - 많은 파일).
"도움말" 없이 A에서 B로 직접 파일을 전송할 수 있는 방법은 없을 것이라고 생각하지만 (호스터 C에서) Linux 루트 서버 C도 가지고 있습니다. 내 서버 C(스크립트, 프로그램, 작업 흐름 등)를 사용하여 파일을 전송할 수 있는 방법이 있습니까? FTP를 통해 패키지 A에서 서버 C로 file1.txt를 다운로드하고, 서버 C에서 패키지 B로 업로드하고, 서버 C에서 삭제하고, 다음 파일 file2.txt를 다운로드하는 식으로요?
답변1
사용curlftpfs
Linux 서버 C에서
이 프로그램은
curlftpfs
원격 FTP 호스트를 로컬 디렉토리로 마운트하는 도구입니다.
이것은퓨즈기반의 솔루션, 익숙해지세요보안 문제. 일반 사용자로서 마운트를 수행할 수 있으며 수행해야 합니다. 예:
curlftpfs -r ftp.dd-wrt.com ~/mnt/foo/
A와 B를 서로 다른 마운트 지점에 마운트합니다. 그런 다음 로컬 파일 cp -r
과 마찬가지로 임의의 도구를 사용하여 파일을 복사/이동합니다 mc
. 결국 마운트를 해제합니다. 마운트 해제 명령의 예:
fusermount -u ~/mnt/foo/
답변2
많은 연구와 시행착오 끝에 저는 두 개의 FTP 서버 사이 A
와 B
루트 서버를 통해 파일을 전송하는 스크립트를 직접 작성하기로 결정했습니다 C
.
게시일은 다음과 같습니다.GitHub로FTP-이동-서버-파일. 현재 초기 개발 단계에 있지만 개인 컴퓨터에 대해 설명된 일반적인 워크플로를 제거하는 데 도움이 됩니다.