![NcFTP 错误:UTIME 失败](https://linux22.com/image/624224/NcFTP%20%E9%94%99%E8%AF%AF%EF%BC%9AUTIME%20%E5%A4%B1%E8%B4%A5.png)
我正在使用 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/
这应该可以解决你的问题。