GitHub地址:
https://github.com/houtianze/bypy
官方介绍
这是一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(Windows下应该也可用,但没有仔细测试过)通过命令行来使用百度云盘的2TB的巨大空间。比如,你可以用在Raspberry Pi树莓派上。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。
由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。
特征: 支持Unicode/中文;失败重试;递归上传/下载;目录比较; 哈希缓存。
界面是英文的,主要是因为这个是为了Raspberry Pi树莓派开发的。
安装
这个工具安装很简单(这里用的Ubuntu系统):
apt install python-pip -y pip install bypy
这样就安装完了
/usr/share/apps 就是我们本地网盘的目录(对应的百度网盘云端目录为“我的应用数据”)
基本操作
显示使用帮助和所有命令(英文):
bypy
第一次运行时需要授权,只需跑任何一个命令(比如 bypy info)然后跟着说明(登陆等)来授权即可。授权只需一次,一旦成功,以后不会再出现授权提示.
更详细的了解某一个命令:
bypy help <command>
显示在云盘(程序的)根目录下文件列表:
bypy list
把当前目录同步到云盘:
bypy syncup or bypy upload
这里我们要注意一下路径的问题。比如我们在使用bypy upload 这个命令的时候,可以看到它的高级用法:
upload [localpath] [remotepath] [ondup] - upload a file or directory (recursively)
这里的remotepath,远程云端路径,是从/usr/share/apps/bypy开始的。比如我们要把数据上传到bypy下面的A目录,让云端的A目录也有数据,那应该用以下命令:
bypy upload /root/xx.mkv A --processes 8 // --processes 8 是8个线程的意思,经测试,太多的线程似乎无法进行
把云盘内容同步到本地来:
bypy syncdown or bypy downdir /
比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):
bypy compare
更多命令和详细解释请见运行bypy的输出。
调试
运行时添加-v参数,会显示进度详情。
运行时添加-d,会显示一些调试信息。
运行时添加-ddd,还会会显示HTTP通讯信息(警告:非常多)
程序依赖
重要:需要把系统的区域编码设置为UTF-8。(参见:http://perlgeek.de/en/article/set-up-a-clean-utf8-environment)
经测试,这个依赖没有安装也能正常使用。如有问题,可根据教程安装。
同步速度感人。
看你的服务器吧,我3个小时左右同步了200G