我无法在客户端上将文件夹与已安装的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命令中只有一个错误?
答案 0 :(得分:0)
看起来rsync
从dav挂载的FS获取文件块但是它缺少其他客户端下载后执行的最后一次重新组装步骤(因为它是 general-purppose 同步引擎使它不知道服务器细节)。按顺序手动追加所有这些块应该在原始文件上生成。
但这是一项疯狂的手工工作。我建议你使用owncloudcmd
代替,因为它知道服务器功能,并设想做到这一点。
此外,为了限制bandwidht rsync
使用的数量,您可以翻转--bwlimit=<kb/second>
参数来控制它不会占用您的所有网络速度。即将推出的2.4版本中提供了owncloudcmd
的等效标志:https://github.com/owncloud/client/pull/5707