如何用python同步两个ftp服务器

2024-10-04 09:26:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个FTP服务器a和b,我需要把文件从一个服务器复制到b服务器。从a下载文件上传到b太复杂了,我想用python在我的桌面上写一个脚本来完成这个任务,只需在下面输入命令就可以了。在

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

但经过一番谷歌,仍然找不到一个好的方法来同步两个ftp服务器,就像dropbox一样。还有别的办法吗?谢谢。在


Tags: 文件nameinpy命令服务器脚本com
2条回答

我觉得这是一份rsync的工作。顾名思义,它可以递归地同步文件和目录(也可以使用压缩和其他东西)。在

首先,您有http://www.csync.org/,它有点像rsync(但是由于rsync只与SSH一起工作,而不用于FTP),但用于HTTP/FTP传输。在

如果你不喜欢这个选项,总是有“lftp”或“curllftpfs”,stackoverflow有一个姊妹站点,可以为您提供答案:

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

如果这不能给您任何帮助,那么在python中总是有ftplib: 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 anonymous@
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()

现在我帮不了你那么多,不为你做一切,我猜你想学吗?使用系统argv[]获取输入/输出文件,也可能用于源主机和目标。在

享受吧!:)

相关问题 更多 >