我正在尝试将OS X(10.11)中的目录树同步到Ubuntu 14.04.虽然大多数文件传输得很好,但名称以_(下划线)开头的文件却没有.

这是我使用的命令:

rsync -rtvh --progress ~/Pictures/processed/ ~/mnt/processed/

以及输出的一个例子:

sending incremental file list
_MG_7425.jpg
      4.66M 100%  169.79MB/s    0:00:00 (xfr#1,to-chk=58/60)
_MG_7427.jpg
      6.59M 100%  103.07MB/s    0:00:00 (xfr#2,to-chk=57/60)
...
rsync: mkstemp "/Users/user/mnt/processed/._MG_7425.jpg.0cAYb3" Failed: No such file or directory (2)
rsync: mkstemp "/Users/user/mnt/processed/._MG_7427.jpg.5Gw1vD" Failed: No such file or directory (2)

sent 306.24M bytes  received 9.46K bytes  122.50M bytes/sec
total size is 306.17M  speedup is 1.00
rsync error: some files/attrs were not transferred (see prevIoUs errors) (code 23) at main.c(1249) [sender=3.1.2]

我的rsync是从自制软件安装的,版本信息:

rsync  version 3.1.2  protocol version 31
copyright (C) 1996-2015 by Andrew Tridgell,Wayne Davison,and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files,64-bit inums,64-bit timestamps,64-bit long ints,socketpairs,hardlinks,symlinks,IPv6,batchfiles,inplace,append,ACLs,xattrs,iconv,symtimes,no prealloc,file-flags

使用sshfs挂载远程位置:

sshfs -o idmap=user username@hostname:/some/path ~/mnt -o auto_cache,reconnect,defer_permissions,noappledouble

使用cp命令复制其中一个跳过的文件成功.我尝试添加–iconv = utf-8-mac,utf-8和–include’_ *’选项,这些选项无效.

我究竟做错了什么?

事实证明罪魁祸首是sshfs标志.我用来摆脱.DS_Store文件的noappled double标志实际上干扰了rsync的工作.

从sshfs Mount Options docs:

noappledouble

This option makes osxfuse deny all types of access to Apple Double (._) files and .DS_Store files. Any existing files will become apparently non-existent. New files that match the criteria will be disallowed from being created.

正如它所指出的,该选项还涉及._ name前缀,这正是rsync用于其临时文件的原因:

rsync: mkstemp "/Users/user/mnt/processed/._MG_7425.jpg.0cAYb3" Failed: No such file or directory (2)

因此,当mkstemp创建临时文件时,sshfs会干扰并阻止它的创建.

从sshfs安装命令中删除noappledouble选项修复了问题,_ *文件已被转移.

感谢@Halfgaar指出我正确的方向.

ubuntu – 通过sshfs的Rsync跳过以下划线开头的文件名的更多相关文章

  1. 源路径中目录的Ansible同步模块模式

    我正在尝试使用同步模块备份文件。目前,我已经为测试硬编码了目录,但我需要它是模式。Ansible版本2.9我需要将其通用于版本*,而不是我目前拥有的版本2。

  2. winapi – Win32 rsync端口的技术障碍

    尽管主要是Windows用户,但我是rsync的忠实粉丝.现在,我不想争论rsync与任何其他工具的优点……这不是我的观点.我在Windows上运行rsync的唯一方法是通过一个在Cygwin上运行的版本,并且因为Cygwin存在Unicode问题,所以rsync也是如此.是否有人熟悉rsync的工作原理,说是否有任何真正的技术编程障碍将rsync移植到本机Win32二进制文件?或者也许是因为Windows用户从来没有足够的兴趣去关注它?

  3. centos – Rsync Throttle上传带宽–bwlimit = KBPS

    我期待在rsync过程中限制文件传输的上传速度.–bwlimit=KBPS是指它设置互联网传输速度,还是硬盘驱动器磁盘写入速度?任何人都可以提供一个示例,说明如何更改命令行以限制使用rsync进行文件传输的上传速度?

  4. ubuntu – 在反映主机目录中的更改时提高SSHFS性能

    sshfsuser@host:~/host哪些附加选项会改善这种延迟?SSH不是设计为文件传输协议.SSHFS通过定期查看目录列表和缓存结果来工作.您可以控制缓存行为,但代价是与交互性相关的性能.如果您连接的SSH主机是通过高延迟链接或慢速连接访问的,那么禁用缓存会使浏览文件系统的事情变得痛苦.无论如何,请参阅手册页,并体验一下.mansshfs

  5. ubuntu – 在ssh上的Rsync,双方都有root访问权限

    我有一个较旧的ubuntu服务器和一个较新的debian服务器,我正在将数据从旧服务器迁移到新服务器.我想使用rsync传输数据,使最终迁移比等效的tar/scp/untar进程更容易,更快.例如,我想将主文件夹一次同步到新服务器.这需要在两端进行root访问,因为源端的所有文件都不是全局可读的,并且目标必须以正确的权限写入/home.我无法弄清楚如何在双方都提供rsyncroot访问权限.我已经

  6. ubuntu – 在使用带有nfs挂载的rsync时,如何防止消失?

    ubuntu服务器没有崩溃,并且没有我所知道的连接问题.在复制完成之前,我不介意一遍又一遍地运行rsync命令,但只需要6个小时就可以使rsync成为文件列表.有什么建议?通过SSH进行rsync会更快吗?相反,在ubuntu客户端上的mac上安装nfs共享呢?

  7. ubuntu – 如何在启动时挂载sshfs?

    使用NAS盒作为24/7文件服务器,我想使用sshfs从Ubuntu9.04桌面连接到它.目前,我在桌面的fstab中有这一行:我可以确认它适用于mount/mnt/storage.我需要的是在启动时安装它的一些方法,但是在建立网络连接之后.目前,Ubuntu中的Upstart不会生成网络事件.相反,它调用传统的sysvinit.默认情况下,NetworkManager已安装并正在运行;它包含一个

  8. ubuntu – macync和linux之间的rsync xattr奇怪?

    Hulloall–我使用rsync从我的mac备份到运行linux的文件服务器,我看到以下错误:…明显的错误,但是-v显示两台机器的以下内容:MAC:LINUX:…所以鉴于Linux盒子说它支持xattrs为什么它会抱怨Mac要求的扩展属性?

  9. Ubuntu SCP副本停止

    看起来你和服务器之间的东西正在丢弃连接,可能是一个过载的防火墙.我担心我没有任何建议,但我会提供一个解决方法.使用–partial选项(或-P)或rsync–partial-dir=.rsync-partial调用rsync.如果连接断开,请使用相同的参数再次运行rsync,并且副本将从中断处继续.

  10. ubuntu – 无法通过sftp获取rsync工作

    我正在尝试使用rsync和sftp建立从ubuntu服务器到SynologyNAS(DS413j)的备份系统.我为此创建了一个用户,我们可以调用ubuntu-backup.我在ubuntu-backup主目录中有一个名为www的目录,其中将保存备份.我在DSM中启用了网络备份用户ubuntu-backup可以完全访问它的主目录这是我在SynologyNAS上的rsync配置文件:/volume1/

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部