为什么 lftp 的镜像命令会使用 chmod 更改文件权限

11

我对lftp非常陌生,请原谅我的无知。

我刚刚运行了一个lftp脚本的dry run,基本上由这样一行组成: mirror -Rv -x regexp --only-existing --only-newer --dry-run /local/root/dir /remote/dir

当它打印出它要做的事情时,它想要chmod一些文件-这些文件是我从svn抓取的,没有修改过,并且应该与服务器上的文件相同。

我的本地机器是Ubuntu,远程机器是Windows服务器。我有几个问题:

  1. 为什么它要这样做?它会尝试将本地文件权限与远程文件匹配吗?
  2. 当它尝试chmod文件时会发生什么?据我所知,Windows不支持chmod-它会优雅地失败并保留文件不变吗?

非常感谢!

2个回答

20

使用 -p 选项,它就不会尝试更改权限。我从未发送到过Windows主机,但您是正确的,它不应该对Windows计算机上的权限级别进行任何更改。


使用 -p 选项,它不会尝试更改权限。我从未发送到过 Windows 主机,但你是正确的,它不应该对 Windows 计算机上的权限级别做任何更改。

所以,在阅读您的答案之前,我尝试了它,并且它运行良好。它静默失败,并按预期工作。 - Jeremy
-p选项在镜像之后吗? - andres martinez

0

我认为你应该尝试一下

lftp -e "mirror -R $localPath $remotePath; chmod -R 777 $remotePath; bye" -u $username,$password $host

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