我得到了一个令人困惑的错误从rsync和最初的东西,我发现从网络搜索(以及所有通常的chmod'ing)没有解决它:

rsync: failed to set times on "/foo/bar": Operation not permitted (1)
rsync error: some files could not be transferred (code 23) 
  at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]

尽管有这个错误,它似乎还是可以工作的,但是去掉它会很好。


当前回答

我也有同样的问题。对我来说,解决方案是删除远程文件,让rsync重新创建。

其他回答

当我向一个不能(正确地)处理时间的文件系统写入时,我就看到了这个问题——我认为SMB共享或FAT或其他东西。

您的目标文件系统是什么?

如果您对源或目标文件中最近没有修改的文件运行rsync进程,也可能弹出此错误…因为它不能为最近修改的文件设置时间。

这发生在一个xfs (rw,relatime,seclabel,attr2,inode64,noquota)类型的分区上,其中的目录由我们都属于的组中的另一个用户拥有。登录前已经建立了组成员关系,整个目录结构是可组写的。我手动运行sudo chown -R otheruser。group目录和sudo chmod -R g+rw目录来确认。

我仍然不知道为什么它没有工作最初,但采取所有权与sudo chown -R myuser。组目录修复了它。也许SELinux-related ?

正如@racl101评论的答案,这个问题可能与文件夹所有者有关。rsync命令应该由文件夹所有者的同一用户执行。如果不一样,你可以改变它。

chown -R userCorrect /remote/path/to/foo/bar

我也遇到了这个问题,我遇到的问题是根文件夹的权限问题,其中包含我试图发送的文件。我不关心根文件夹是否包含在rsync中,我只关心它里面有什么。错误来自我的命令,我需要在最后指定一个额外的/。如果没有,rsync将尝试设置该文件夹的次数。

例子:

这将尝试在html上设置时间

rsync /var/www/html/ ubuntu@xxx.xxx.xxx.xxx:html

这不会

rsync /var/www/html/ ubuntu@xxx.xxx.xxx.xxx:html/