最近在 GitHub 上发现一个有趣的项目,百度网盘 Python 客户端(bypy),主要使用在 Linux 命令行下,这样很大的一个好处是可以利用到百度云盘 2TB 的存储空间 (如果你是会员有 6TB);你可以在任何服务器上,利用自动化脚本实现一些数据文件、日志文件等等备份操作,同时也提供丰富的文件列表、上传、下载、对比、同步以及批量操作等。
虽然百度网盘 Python 客户端提供很大的便利,但是我强烈不建议将一些重要数据放到百度云盘
实验目的
数据库备份文件自动上传到百度网盘
环境依赖
- Python 2.7 or 3.0 以上
- Encoding UTF-8
Python 环境
首先使用python -V
检查你的 Python 版本,如果你的版本是 2.7 或以上,那么就不需要做任何操作,可以直接安装 bypy,但是如果你像我一样多数是 CentOS 6.x 那么就需要先升级 Python 版本。我这里是将 Python 升级到 2.7。
Install Python 2.7
# Check current Python version
➜ ~ python -V
Python 2.6.6
# Download python 2.7.13 or new packge.
➜ ~ wget http://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz
# Extract and change in
➜ ~ tar xf Python-2.7.13.tar.xz
➜ ~ cd Python-2.7.13
# Run the configure:
➜ Python-2.7.13 ./configure --prefix=/usr/local
# Compile and install it:
➜ Python-2.7.13 make && make altinstall
# Check Python Version
➜ Python-2.7.13 python2.7 -V
Python 2.7.13
虽然 Python2.7 已经安装成功了,但是默认的 Python 仍然是 2.6 版本,所以我们要替换默认 Python 命令指到 2.7
# Update bin python to python2.7
➜ ~ ll /usr/bin/python /usr/local/bin/python2.7
➜ ~ ll /usr/bin/python-config /usr/local/bin/python2.7-config
➜ ~ python -V
Python 2.7.13
Can not use Yum ?
因为yum
必须要使用 Python2.6,所以当升级成功之后,发现 yum 无法使用,这时我们要稍微修改下:
➜ ~ which-command yum
/usr/bin/yum
#Update frist line "#!/usr/bin/python" to "#!/usr/bin/python2.6"
➜ ~ vim /usr/bin/yum
安装bypy
Install Setuptools & requests
➜ ~ wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar xf setuptools-1.4.2.tar.gz
➜ ~ python setup.py install
➜ ~ pip2.7 install requests
Clone & Install
➜ ~ git clone https://github.com/houtianze/bypy.git
➜ ~ cd bypy
➜ bypy git:(master) python setup.py install
如果安装失败,注意看报错,是否缺少 Python 依赖包,或者版本不对
基本操作
在成功安装完成之后,以下需要注意:
授权
首次安装之后,需要进行授权,只需要运行任何一个命令都可以,例如bypy info
,然后根据提示,打开网页登录你的百度网盘账号,取得授权码,即可。
复制上图中的链接到你的浏览器中,打开可以看到百度 API 授权页面,如下图,将授权码粘贴到命令行,然后回车等待验证通过即可。
然后再次运行命令时,就不需要进行身份验证了
[root@localhost bypy]# bypy info
Quota: 6.103TB
Used: 180.074GB
你可以看到我的百度网盘有 6.103TB 的空间,已经使用了 180.074GB
常用操作
由于百度 PCS API 权限限制,程序只能存取百度云端/apps/bypy 目录下面的文件和目录。通过以下链接可以打开你的 bypy 默认路径:
https://pan.baidu.com/disk/home#list/vmode=list&path=%2Fapps%2Fbypy
查看
我在百度网盘内增加了一个 v6 的文件夹,对应我服务器名称,这是我在服务器内利用命令即可看到。
[root@localhost bypy]# bypy list
/apps/bypy ($t $f $s $m $d):
D v6 0 2017-06-02, 10:28:41