我有两个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)
但是在谷歌之后,仍然找不到像dropbox这样同步两台ftp服务器的好方法。有没有其他方法可以做到这一点?感谢。
答案 0 :(得分:3)
对于初学者来说,你有http://www.csync.org/这是一种rsync(但由于rsync只适用于SSH而不适用于FTP),但适用于HTTP / FTP传输。
如果您不喜欢该选项,那么总是有“lftp”或“curlftpfs”,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()
现在我无法帮助你,而不是为你做任何事情,我猜你想要学习?使用sys.argv []获取输入/输出文件,也可以使用source-host和desition。
享受! :)
答案 1 :(得分:-1)
这听起来像rsync给我的工作。顾名思义,它可以递归地同步文件和目录(也包括压缩和其他东西)。