月度归档:2014年10月

SyncY更新(Python 1.0.15)

​修改内容:

1、完善了对部分发行版系统luci的支持。
​2、新增分片下载模式,解决在某些特殊情况下下载下来的文件大小与云端大小不一致。

luci版升级的,如不想重新绑定及设置同步目录,请先备份/etc/config/syncy文件,安装完之后恢复此文件。
非luci版的,直接替换syncy.py文件,另外新增如下配置项:

    option slicedownload ‘on’  #是否开启分片下载文件,on-开启,off-关闭。

详细配置文件设置请浏览配置文件说明

说明:

slicedownload设置为on后,软件将按照blocksize设置的大小来分片下载文件,只有当相应的分片一次下载成功后才会合并大原始文件中,否则将重新下载整个文件,这有效了解决当经常发生curl(18)错误后,下载下来的文件大小与云端大小不一致,同时也实现了断点下载。开启后下载大文件的整体平均下载速度可能比关闭后有所降低,但可靠性要高些。

slicedownload设置为off时,超过blocksize设定值的文件下载也有断点下载,只是断点下载有curl来控制,这样在少数情况下下载下来的文件与云端大小不一致,syncy将删除下载的文件,如果文件特别大,将浪费很多时间,并有可能多次下载完后都发现文件不一致。

之前有网友提出,下载下来的文件能否检查md5来确定是否正确下载,通过对百度接口的再次检查,发现此功能是实现不了的,只要是分片上传的文件,百度返回的md5码不是文件的真实md5码,因此没法比对。同时该网友提出刚下载的文件不能秒传上传,这种情况是存在的,经过我的测试,分片上传的文件,在上传完成后再次上传是没有秒传,说文件不存在,而第二天则可以秒传,因此百度后台有些工作也不是实时进行的,可能有单独的服务器来延时完成相应工作,这就有个时间差。