我在与webdav同步时获得了多个rsync

时间:2017-12-06 20:44:25

标签: rsync webdav owncloud

我无法在客户端上将文件夹与已安装的webdav(由owncloud提供)同步。

首先我将webdav文件夹挂载到/ company / webdav,这很好,可以浏览这个目录。

mount -t davfs https://webdav.company.com/remote.php/webdav /company/webdav

在此之后,我运行此命令将视频文件夹同步到我的本地覆盆子

rsync -av --delete-after --progress --partial --stats /company/webdav/Video/ /companylocal/video

它似乎适用于小文件(<50MB),如果我使用/ companylocal / video中的较大文件,我可以看到重复的部分文件。

  

root @ pi:/ companylocal / video#ls -al total 1270300 drwxr-xr-x 2 root   根4096 12月6日16:03。 drwxr-xr-x 9 root root 4096 12月6日   15:45 ..   -rw ------- 1 root root 159383552 12月6日16:03 .Backstage _ + _ FWB_Show.mp4.cL5tVu   -rw ------- 1 root root 595591168 12月6日15:54 .Backstage _ + _ FWB_Show.mp4.hfti8J   -rw ------- 1 root root 159383552 12月6日16:03 .Backstage _ + _ FWB_Show.mp4.JB0tfu   -rw ------- 1 root root 159383552 12月6日16:03 .Backstage _ + _ FWB_Show.mp4.odvZEr   -rw ------- 1 root root 159383552 12月6日16:03 .Backstage _ + _ FWB_Show.mp4.pM5wCu   -rw ------- 1 root root 67633152 12月6日16:03 .Backstage _ + _ FWB_Show.mp4.WRljSA

此外,只有一个文件必须同步,但rsync正在获得更多进程

root@pi:/companylocal/video# top 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  975 davfs2    20   0   41524   4916   4088 D   2.6  0.5   2:24.78 mount.davfs
  985 root      20   0    5064   1532   1040 S   2.3  0.2   0:04.68 rsync
 1320 root      20   0    5064   1568   1072 S   2.3  0.2   0:04.71 rsync
 1322 root      20   0    5064   1540   1040 S   2.3  0.2   0:04.63 rsync
 1352 root      20   0    5064   1540   1044 S   2.3  0.2   0:04.09 rsync
  977 root      20   0    5092   2616   2112 D   2.0  0.3   0:03.70 rsync
 1314 root      20   0    5092   2608   2108 D   2.0  0.3   0:03.69 rsync
 1349 root      20   0    5092   2596   2092 S   2.0  0.3   0:03.37 rsync
 1423 root      20   0    5092   2476   2036 S   2.0  0.3   0:00.52 rsync
 1425 root      20   0    5064   1616   1132 S   2.0  0.2   0:00.46 rsync

我不明白为什么会发生这种情况。

问题是:如果rsync尝试同步并行同一个文件,则bandwithusage很高,并且几分钟后存储空间也会满了。该文件只有2GB和10个文件x 2 GB = 20GB会杀死我的磁盘空间。

是组合问题(通过owncloud-webdav的大文件)和rsync吗? 我应该通过Apache使用本机webdav吗?或者我的rsync命令中只有一个错误?

1 个答案:

答案 0 :(得分:0)

看起来rsync从dav挂载的FS获取文件块但是它缺少其他客户端下载后执行的最后一次重新组装步骤(因为它是 general-purppose 同步引擎使它不知道服务器细节)。按顺序手动追加所有这些块应该在原始文件上生成。

但这是一项疯狂的手工工作。我建议你使用owncloudcmd代替,因为它知道服务器功能,并设想做到这一点。

此外,为了限制bandwidht rsync使用的数量,您可以翻转--bwlimit=<kb/second>参数来控制它不会占用您的所有网络速度。即将推出的2.4版本中提供了owncloudcmd的等效标志:https://github.com/owncloud/client/pull/5707