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)