2011-09-06 6 views
2

두 개의 FTP 서버 a와 b가 있습니다. 서버에서 b 서버로 파일을 복사해야합니다. 파일을 a에서 b로 업로드하는 것은 너무 복잡합니다. 파이썬으로 스크립트를 작성하여 바탕 화면에서이 작업을 수행하려면 아래 명령을 입력하십시오.두 개의 ftp 서버를 파이썬으로 동기화하는 방법

python syncftp.py a.com(source server) folder(folder name in source server) 
     b. com(destination server) folder(destination folder name) 

그러나 일부 Google 후에도 Dropbox처럼 두 개의 FTP 서버를 동기화하는 좋은 방법을 찾을 수 없습니다. 이것을 할 수있는 다른 방법이 있습니까? 감사.

답변

3

처음에는 http://www.csync.org/이 rsync와 비슷하지만 (rsync는 FTP가 아닌 SSH에서만 작동 함) HTTP/FTP 전송에 사용됩니다. 당신이 "lftp가"또는 "curlftpfs는"항상 거기에 해당 옵션이 마음에 들지 않으면

는 유래 당신의 대답 제공하는 자매 사이트가 있습니다

https://serverfault.com/questions/24622/how-to-use-rsync-over-ftp

을 그건 당신에게 아무것도주지 않는 경우 이제 http://docs.python.org/library/ftplib.html

from ftplib import FTP 
ftpretr = FTP('get.ftp.com') # connect to host, default port 
ftpretr.login()    # user anonymous, passwd [email protected] 
ftpretr.retrbinary('RETR README', open('README', 'wb').write) 
ftpretr.quit() 
ftpsend = FTP('send-to.ftp.com','login','password') 
ftpsend.storbinary('STOR todo.txt', open('README','rb')) 
ftpsend.quit() 

내가 당신을 위해 모든 것을하지 않고 더 그 TBH 당신을 도울 수 그리고 난 당신이 배우고 싶은 같은데요 : 그럼 당신은 항상 파이썬에서 FTPLIB있다? sys.argv []를 사용하여 입력/출력 파일을 가져오고 소스 호스트와 desition을 가져올 수도 있습니다.

즐기십시오! :)

+0

어떤 옵션이 가장 빠릅니까? – Demiurg

-1

내게는 rsync의 직업처럼 들립니다. 이름에서 알 수 있듯이 파일과 디렉토리를 재귀 적으로 동기화 할 수 있습니다 (압축 및 기타 항목 포함).

+0

@Torxed, rsync, 신의 선물, FTP는 지원하지 않으며 SSH 만 가능하며 자체 프로토콜입니다. 거기에는 사랑이 없습니다. –

관련 문제