最近在给公司SAAS产品在客户侧进行私有化部署,由于客户现场网络无法上网,只能通过Linux跳板机将数据传输过去,除了k8s离线部署程序、镜像外,还有几百G已经切好的视频数据,所以只能通过百度网盘传输了,试想一下能不能通过命令行同步百度云盘数据呢,谷歌一搜还真有,下面就简单介绍一下bypy的使用。
bypy介绍
bypy是一个百度云/百度网盘的Python客户端,主要用于linux下操作百度云盘,提供文件列表、下载、上传、比较、向上同步、向下同步等操作,主要特点:支持Unicode/中文;失败重试;递归上传/下载;目录比较; 哈希缓存。
另外,由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。
安装bypy
安装pip
1
2
3
| curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py
curl -O https://bootstrap.pypa.io/pip/3.6/get-pip.py
python get-pip.py
|
安装bypy
1
| python -m bypy info #生成授权码,然后打开浏览器, 进行授权,并赋值授权码
|
将授权码复制粘贴到终端,回车,即完成。
bypy命令详解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $ bypy help command #查看命令帮助
$ bypy info #查看百度云盘空间
Quota: 13.294TB
Used: 1.917TB
$ bypy list #查看百度云盘“我的应用数据”
/apps/bypy ($t $f $s $m $d):
D course 0 2023-12-04, 15:21:41
D k8s 0 2023-12-04, 15:47:47
$ bypy downdir k8s #直接下载bypy目录下k8s
$ bypy syncup #把当前目录同步到云盘
$ bypy upload #把当前目录同步到云盘
$ bypy syncdown #把云盘内容同步到当前目录
$ bypy downdir / #把云盘内容同步到当前目录
$ bypy compare #比较本地当前目录和云盘(程序的)根目录
$ bypy -v #运行时添加-v参数,会显示进度详情。
$ bypy -d #运行时添加-d,会显示一些调试信息
$ bypy -ddd #显示更多http通讯信息
|
总结
这次对于使用bypy算告一段落,其实在调研的过程中也有很多基于baidupcs实现的工具,不过后来这些项目都不怎么维护了,所以也希望bypy能够坚持下去。
参考:https://github.com/houtianze/bypy