自动化FTP上传文件到Web服务器?

3

我正在寻找一个FTP客户端,可以用来将本地开发机器上的新文件上传到远程web服务器。但我只想上传新编辑过的文件。

有没有命令行实用程序可以做到这一点,我可以将其添加到自动化流程中?是否有可用的GUI客户端可以完成此操作?最好也可以跨平台使用。有什么建议吗?

3个回答

1

1

1

你有两个选择:

  • 定期同步本地文件夹与远程文件夹(或将所有文件从本地文件夹移动到远程文件夹,如果更合适)
  • 使用一个可以监视本地目录变化并在远程目录上反映它们的工具

您可以通过WinSCP FTP客户端来实现这两个选项。


调度

为了将本地目录中的更改与远程目录同步,可以使用WinSCP synchronize脚本命令从批处理文件中执行:

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"

并且使用Windows计划程序定期运行批处理文件

如果您不想保留图像的本地副本,只需将它们移动到FTP服务器上,而不是同步它们。为此,请替换

"synchronize remote C:\local\path /remote/path" ^

使用 put -delete 命令,例如:

"put -delete C:\local\path\* /remote/path/" ^

更多详情请参阅自动化文件传输(或同步)到FTP服务器的指南


监视变化

使用WinSCP的"保持远程目录更新"函数

它可以在命令行/控制台模式下使用{{link2:keepuptodate命令}},例如:

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"

或者在图形/GUI模式下。您可以在WinSCP GUI(登录后)中启动图形模式,也可以使用/keepuptodate开关从命令行启动:

winscp.exe ftp://username:password@ftp.example.com/ /keepuptodate C:\local\path /remote/path

(我是WinSCP的作者)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接