【发布时间】:2011-06-16 22:12:30
【问题描述】:
我正在寻找可用于将新文件从本地开发机器上传到远程 Web 服务器的 FTP 客户端。不过我只想上传新编辑的文件。
是否有可以执行此操作的命令行实用程序,我可以将其添加到自动化流程中?是否有可用的 GUI 客户端可以做到这一点?要是能跨平台就好了。有什么想法吗?
【问题讨论】:
我正在寻找可用于将新文件从本地开发机器上传到远程 Web 服务器的 FTP 客户端。不过我只想上传新编辑的文件。
是否有可以执行此操作的命令行实用程序,我可以将其添加到自动化流程中?是否有可用的 GUI 客户端可以做到这一点?要是能跨平台就好了。有什么想法吗?
【问题讨论】:
Mercurial FTP Extension 应该为您执行此操作,尽管我自己没有尝试过。
【讨论】:
有一个名为 SyncBack 的“备份”程序可以执行此操作。
您可以在这里找到更多信息:http://www.2brightsparks.com
【讨论】:
你有两个选择:
您可以使用WinSCP FTP client 实现这两个选项。
要将本地目录中的更改同步到远程目录,请使用批处理文件中的 WinSCP synchronize script command,例如:
winscp.com /ini=nul /log=c:\writable\path\to\synchronize.log /command ^
"open ftp://username:password@ftp.example.com/" ^
"synchronize remote C:\local\path /remote/path" ^
"exit"
还有schedule the batch file to be run frequently using Windows scheduler。
如果您不想保留图像的本地副本,只需将它们移动到 FTP 服务器,而不是同步它们。为此,更换
"synchronize remote C:\local\path /remote/path" ^
与put -delete command 类似:
"put -delete C:\local\path\* /remote/path/" ^
有关详细信息,另请参阅automating file transfers (or synchronization) to FTP server 的指南。
使用 WinSCP 的"Keep remote directory up to date" function。
它可以在命令行/控制台模式下使用keepuptodate command,例如:
winscp.com /ini=nul /log=c:\writable\path\to\synchronize.log /command ^
"open ftp://username:password@ftp.example.com/" ^
"keepuptodate C:\local\path /remote/path" ^
"exit"
或graphical/GUI mode。您可以在 WinSCP GUI 中(登录后)或使用/keepuptodate switch 从命令行启动图形模式,例如:
winscp.exe ftp://username:password@ftp.example.com/ /keepuptodate C:\local\path /remote/path
(我是 WinSCP 的作者)
【讨论】: