NcFTP 错误:UTIME 失败

NcFTP 错误:UTIME 失败

我正在使用 NcFTP 将一堆目录从一台服务器上传到另一台服务器(都是 Linux)。它成功创建、下载、删除文件/文件夹,但是当我需要覆盖它们时失败了。

无法保留 /path/logo/xxx.png 的时间:UTIME 失败。服务器说:utime(/path/logo/xxx.png):操作不允许

好吧,我猜远程服务器不想让我设置文件时间戳。有解决方法吗?我试过这个:

ncftpput -R -o useSITE_UTIME=0 -u user -p mypwd www.site.com /remote/path/ /local/path/

但它不起作用。欢迎任何想法。

答案1

我在使用 ncftp 时遇到了一些奇怪的问题,后来我通过迁移到lftp,它是可编写脚本的,并且已被证明是在需要 FTP 时完成任务的绝佳工具。

如果您坚持使用 ncftp,那么您也应该尝试一下-o useSITE_UTIME=1

答案2

我也转到了 lftp。它不会抛出有关文件时间戳的错误,而是表现得好像没有发生错误一样……这次更改了文件时间戳,但没有更改其内容。

不过,我找到了一种解决方法,即删除并上传每个文件。

我对 ftp 命令行在生产中的使用非常担心,但我无法摆脱我当时的想法是正确的。我仍然认为 SCP 在 Linux 和 Linux 之间的文件传输方面比 FTP 更好,但这可能只是我对 FTP 的误解。

答案3

尝试这个命令:

ncftpput -R -o useFEAT=0,useCLNT=1 -u user -p mypwd www.site.com /remote/path/ /local/path/

这应该可以解决你的问题。

相关内容