分类目录归档:SyncY同步软件

SyncY更新(V2.2.0)

2015-04-17

少数网友升级到2.2.0后报“TypeError: unhashable type”错误,我在我这怎么测试,怎么执行相关代码都不报这个错误,不知道是什么原因导致的,可以采用变通方法解决,操作方法如下:

1、先用2.1.2版同步完成所有文件(必须都全部同步成功),然后停止2.1.2版程序;
2、备份每个同步目录跟目录下的.syncy.info.db文件;
3、替换新的程序文件,并执行/usr/bin/syncy.py rebuild(如果安装路径不是/usr/bin,根据实际安装路径修改);
4、如果第3步执行成功就完成了,如果第3步执行出错就重复执行第3步,第3步没有执行成功切不可直接运行程序,否则将重新同步所有文件。

rebuild命令就是重建同步信息数据,但重建前必须保证云端和本地文件一致,否则不一致的文件下次同步时也不会再同步了。

2015-04-09    今天对luci界面做了优化,解决了在日志文件不存在是导致界面无法显示的问题,下载安装v2.2.0-2即可,非luci的程序文件没有变化。

V2.2.0更新注意事项:2.2.0版本升级了同步信息数据格式,在启动新版程序时,程序会自动升级数据,并把原数据备份到.syncy.info.db.bak文件,运行了新版程序后,不可在运行旧版本程序,否则可能导致所有数据重新同步,甚至数据丢失!!!

更新内容:

2015-04-06
v2.2.0
1、优化了云端目录的设置,云端目录设置可兼容识别以“/apps/SyncY”和“/我的应用程序/SyncY”开头的设置。
2、优化块大小设置项,如果上传文件的大小/1024大于设置的块大小,上传此文件是块大小将临时调整为文件大小/1024,其它时候上传或下载的块大小由配置项决定。
3、增加了上传单个文件超过20G前的报错提示,以防止上传很长时间后导致无法合并大文件的错误而浪费很多上传时间(如需上传大于20G的文件,建议用压缩工具分片压缩或其它工具对文件进行分割,使单个文件小于20G)。
4、上传和下载限速设置支持单位K、M,如:100K = 100 * 1024 byte/s。
5、配置的云端同步根目录不存在时将会创建,以解决云端根目录不存在时运行报错的问题。
6、升级了同步信息数据版本,以解决某些特殊情况下进行文件修改时间转码时报整数越界的问题。
7、简化日志浏览,合并运行日志和错误日志输出,通过标识来区别是错误消息还是普通信息(ERROR–错误信息,WARNING–警告信息,INFO–普通运行信息),只保留syncylog配置项,取消了syncyerrlog配置参数。

下载地址:http://www.syncy.cn/index.php/download/
配置说明:http://www.syncy.cn/index.php/syncyconfighelp/
安装配置方法:http://www.syncy.cn/index.php/syncysetup/

SyncY V2版更新(v2.1.2)

更新内容:

2015-02-04
v2.1.2
1、修复了一个输出错误日志的内容存在中文字符时转码失败,导致程序退出的bug,。
2、修复了一个当下载文件时,服务器返回了一个非预期的代码,导致无法解析json对象,且没有记录错误消息的问题。
3、修复了一个在部分设备上创建线程失败,导致程序退出的bug。

之前版本在部分设备上运行会报错,错误信息为“thread.error:can’t start new thread”,更新到v2.1.2-2可解决此问题。

下载地址:http://www.syncy.cn/index.php/download/
配置说明:http://www.syncy.cn/index.php/syncyconfighelp/
安装配置方法:http://www.syncy.cn/index.php/syncysetup/

SyncY V2版更新(v2.1.1)

更新内容:

2015-01-22
v2.1.1
1、修复了在获取文件列表时无法访问服务器,因而不能解析json对象导致程序退出的bug。
2、优化了向服务器发送请求的数据,避免特定条件下产生curl参数值不可用的错误导致程序退出。
3、优化了错误消息的显示,curl错误将显示错误消息。
4、优化了多平台的支持,解决在部分平台上创建线程失败导致程序退出的bug。

下载地址:http://www.syncy.cn/index.php/download/
配置说明:http://www.syncy.cn/index.php/syncyconfighelp/
安装配置方法:http://www.syncy.cn/index.php/syncysetup/

SyncY V2版更新(v2.1.0)

更新内容:

2015-01-16
v2.1.0
1、解决了线程数开多了后导致软件segmenation fault错误的bug。(在此感谢曾少同学的帮助才找出问题原因。
2、降低了内存占用,现在每多开一个线程内存占用只增加32K,v2.0.0版每线程增加2M左右。

采用CIFS共享文件系统的用户请注意:

如果你的设备挂载的是CIFS文件系统(不是对外提供samba服务的),如果安装的是luci版本,请下载SyncY-Python-v2.0.0.rar压缩包,并用syncy-cifs.py替换/usr/bin目录下的syncy.py文件;非luci的,只需要安装syncy-cifs.py程序文件,并重命名为syncy.py。

程序文件syncy.py和syncy-cifs.py只需要安装一个,如果不是使用的cifs共享文件系统的,推荐安装syncy.py,这个版本相比cifs版能减少对cpu的占用在10%左右(AR71XX CPU上8线程测试结果),如果syncy.py程序在你的设备上运行报错,错误代码为“IOError[Errno:5] input/output error”可用syncy-cifs.py替换/usr/bin目录下的syncy.py文件,并重命名为syncy.py。

下载地址:http://www.syncy.cn/index.php/download/

配置文件说明:http://www.syncy.cn/index.php/syncyconfighelp/

SyncY多任务多线程版发布(v2.0.0)

SyncY v2版正式发布了,相比v1版本变化很大,可以支持多任务、多线程,同时可以设定限速时间段。多线程大家都很了解,pc上的下载程序都支持,不多说,让大家赶快来体验能在路由上运行的多任务多线程同步软件。

V2版程序新增3个配置项(speedlimitperiod、tasknumber、threadnumber):

speedlimitperiod:限速时间段,在此时间内按照设定设置的最大上传或下载速度限速,设置格式与运行时间段相同,默认值为0-0,表示不限速;
tasknumber:同时同步的任务数,即同时上传或下载的文件个数,默认值为2,最小值为1;
threadnumber:每个任务的线程数,该设置值表示每个任务的最大线程数,默认值为2,最小值为1.

v2版内存耗用比v1版大很多,根据我观察看,每增加一个线程需要耗用2M左右的内存,默认情况下(2任务2线程)有2个下载任务在运行时,内存耗用在20M左右(同步文件数量大且开启同步信息缓存时内存耗用还会增加),32M内存的路由跑起来压力很大,64M及以上的应该没什么问题。

下载地址:http://www.syncy.cn/index.php/download/

配置文件说明:http://www.syncy.cn/index.php/syncyconfighelp/

SyncY更新(Python 1.0.16)

修改内容:

1、修复了秒传文件失败后不能上传文件的bug(此bug只在1.0.15版本中出现,本是想解决百度偶发的误报没权限访问文件的问题,却不料导致秒传文件失败后不能正常上传文件)。
2、修复了一个在较低概率情况下匹配文件列表失败,导致程序崩溃的bug。

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

进入下载页面

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码,因此没法比对。同时该网友提出刚下载的文件不能秒传上传,这种情况是存在的,经过我的测试,分片上传的文件,在上传完成后再次上传是没有秒传,说文件不存在,而第二天则可以秒传,因此百度后台有些工作也不是实时进行的,可能有单独的服务器来延时完成相应工作,这就有个时间差。