syncy百度云同步

2016-10-09

用syncy实现百度云同步,能提供低成本的异地备份需求。

项目地址:https://github.com/wishinlife/SyncY

安装:

Ubuntu下使用我们只需要python版本即可:

#首先安装依赖包
pip install pycurl
pip install pycrypto #如果不使用加密可以不用装

#下载源码
git clone https://github.com/wishinlife/SyncY.git

#设置配置文件
cp SyncY/syncy /etc/config/syncy

配置文件:vim /etc/config/syncy

config syncy
        option syncylog ''
        option blocksize '10'
        option ondup 'rename'
        option datacache 'on'
        option excludefiles '*/Thumbs.db'
        option listnumber '100'
        option retrytimes '3'
        option retrydelay '3'
        option maxsendspeed '0'
        option maxrecvspeed '0'
        option speedlimitperiod '0-0'
        option syncperiod '0-24'
        option syncinterval '3600'
        option tasknumber '2'
        option threadnumber '2'

config syncpath
        option localpath '/mnt/example'
        option remotepath '/apps/SyncY/example'
        option enable '1'
        option synctype 'upload'
        #option encryption 'ARC4'       # 0 is disable encryption
        #option encryptkey 'This is a encrypt key'

config syncytoken

接下来,复制syncy.py到/usr/bin目录下,授予syncy.py可执行权限。

然后直接执行syncy.py获取用户码, 获取用户码后按照提示打开百度授权页面https://openapi.baidu.com/device

ubuntu启动脚本,在/etc/init.d目录下建立syncy文件并授予可执行权限,文件内容如下::

#!/bin/bash

case "$1" in
  start)
        /usr/bin/syncy.py &
        ;;
  stop)
        if [ -e /var/run/syncy.pid ] ; then
           sypid=$(cat /var/run/syncy.pid)
           kill $sypid
        fi
        ;;
  restart)
        if [ -e /var/run/syncy.pid ] ; then
           sypid=$(cat /var/run/syncy.pid)
           kill $sypid
        fi
        sleep 1
        /usr/bin/syncy.py &
        ;;
esac

ubuntu下运行可能会出现.syncy.info.db文件锁报错,解决办法是注释掉出错行:

vim /usr/bin/syncy.py

1429             with open(dbfile, 'rb') as sydb:
1430                 #flock(sydb, LOCK_EX)       <---注释
1431                 datarec = sydb.read(40)

官方配置说明:http://www.syncy.cn/index.php/syncyconfighelp/

官方安装文档:http://www.syncy.cn/index.php/syncysetup/