每次想把服务器上的数据上传到百度云盘都要先下载到本地,然后再上传百度云。
这一点都不优雅,既浪费时间,还占用电脑本来的带宽。
如果Linux命令行能够直接上传百度云盘岂不美哉?说干就干,磨刀不误砍柴工!
原文发布于个人博客(好望角),并在博客持续更新。
准备
- CentOS Linux, python3 配置环境
pip install bypy --user
配置
- 输入
bypy info
,得到如下显示。
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE4EpCsau1oS0MplgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
- 访问该链接,获得授权码,复制回来。确认。得到类似信息即配置成功。
Quota: 2.008TB
Used: 1.272TB
使用
再也不用把一些实验结果保存到本地,从实验室服务器折腾到本地再进行上传。写两条命令就可以继续干活了,感觉真好!
下面是一些常用命令
bypy list # 显示文档
bypy upload filename -v # 上传某文件,显示进度
bypy -c # 取消令牌文件。一段时间后要重新授权
bypy downdir filename # 下载
bypy compare # 比较本地目录和网盘目录
执行上传命令之后有如下的显示,说明正在上传
'Wiki50.tar.gz' >>==> '/apps/bypy/Wiki50.tar.gz' OK.
[=___________________] 9% (20.0MB/214.1MB) ETA: 6m52s (481kB/s, 42s gone) 'Wiki50.tar.gz' >>==> '/apps/bypy/Wiki50.tar.gz' OK.
[===_________________] 18% (40.0MB/214.1MB) ETA: 6m10s (481kB/s, 1m25s gone) 'Wiki50.tar.gz' >>==> '/apps/bypy/Wiki50.tar.gz' OK.