更正 LFTP 命令以仅上载更新的文件



我正在使用 codeship.io 将代码存储库中的文件上传到没有SSH的共享主机。

这是原始命令,需要两个小时才能完成:

lftp -c "open -u $FTP_USER,$FTP_PASSWORD ftp.mydomain.com;设置 SSL:验证证书编号;mirror -R ${HOME}/clone//public_html/targetfolder"

我尝试添加 -n,它应该只上传较新的文件。但我仍然可以从流日志中看到正在上传一些未更改的文件:

lftp -c "open -u $FTP_USER,$FTP_PASSWORD ftp.mydomain.com;设置 SSL:验证证书编号;mirror -R -n ${HOME}/clone//public_html/targetfolder"

正确上传仅更新文件的正确命令是什么?

命令正确。

问题是为什么 lftp 认为文件"已更改"。如果文件丢失,它会上传文件,具有不同的大小,具有不同的修改时间。

您可以尝试在 lftp 将文件上传到的目录上执行"ls"操作,看看这些文件是否真的存在,是否具有相同的大小以及相同或更新的修改时间。

如果由于某种原因修改时间较长,请将--ignore-time添加到镜像命令中。

Codeship 在部署之前先构建代码。

这意味着 Codeship 临时服务器中的代码比管道中的其他任何代码都新,即使代码本身可能没有更改。

这就是为什么当您使用lftp"仅较新的文件"选项时,它只是意味着一切。

据我所知,您不能只上传实际的新文件。

相关内容

  • 没有找到相关文章

最新更新