最近在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默认路径:查看

我在百度网盘内增加了一个v6的文件夹,对应我服务器名称,这是我在服务器内利用命令即可看到。[root@localhost bypy]# bypy list

/apps/bypy ($t $f $s $m $d):

D v6 0 2017-06-02, 10:28:41创建文件夹[root@localhost ~]# bypy mkdir v6/bypy

[root@localhost ~]# bypy list v6

/apps/bypy/v6 ($t $f $s $m $d):

D bypy 0 2017-06-02, 10:35:53上传[root@localhost ~]# bypy upload bypy.tgz

[root@localhost ~]# bypy list

/apps/bypy ($t $f $s $m $d):

D v6 0 2017-06-02, 10:28:41

D v6_1 0 2017-06-02, 10:34:52

F bypy.tgz 2867963 2017-06-02, 10:37:30 aa4160cdbf2f4eca9baf0fcd395241fe本地同步到百度网盘

使用syncup参数将本地目录文件同步到百度网盘[root@localhost ~]# bypy syncup ./bypy v6/bypy

[root@localhost ~]# bypy list v6/bypy

/apps/bypy/v6/bypy ($t $f $s $m $d):

D .git 0 2017-06-02, 10:45:31

D baidudoc 0 2017-06-02, 10:44:50

D build 0 2017-06-02, 10:45:11

D bypy 0 2017-06-02, 10:45:54

D bypy.egg-info 0 2017-06-02, 10:45:00

D dist 0 2017-06-02, 10:44:54

D update 0 2017-06-02, 10:45:08

F .editorconfig 277 2017-06-02, 10:45:08 d9f71b00f908626ae68da571ca47cbe2

F .gitignore 484 2017-06-02, 10:45:00 833d8511a69044a1f1c6e0fe4b3c3117

F .travis.yml 628 2017-06-02, 10:44:58 9f377251309ced0a55548c18896ebd7a

F CONTRIBUTING.md 683 2017-06-02, 10:44:52 f5e8a568937039e5853613ff0fe296ee

F genrst.py 129 2017-06-02, 10:45:30 4565eddf226c2e8bed73d2c30dfae9f3

F HISTORY.md 2542 2017-06-02, 10:45:11 16605670a55a3dd9768d4c862543eac4

F HISTORY.rst 2639 2017-06-02, 10:44:57 7215fbd0a3be667fd7f9fda14f06c1a9

F LICENSE 1078 2017-06-02, 10:44:59 ebd1a0c53ea3046f505b995629faf8fb

F MANIFEST.in 116 2017-06-02, 10:44:50 c98e18e65329b318f13abd031a4397c4

F README.md 6276 2017-06-02, 10:46:15 d4b88fd543d93c6b63863d28f5c4e716

F release.sh 1795 2017-06-02, 10:45:53 c086eb283e9554bbcd23daf0888e2819

F requirements.txt 42 2017-06-02, 10:44:54 28b314f2f2d2ed79957a7a7e6d3f7c17

F setup.cfg 70 2017-06-02, 10:45:11 b23579970dcedbcaeaaa00636d601335

F setup.py 2377 2017-06-02, 10:44:58 34d63d5143ab02d3db7808321a7f9df4

[root@localhost ~]# bypy syncup ./bypy v6/bypy

[root@localhost ~]#搜索

bypy 同样支持搜索,根据文件名检索,自动递归所有目录[root@localhost ~]# bypy search release.sh

Found:

F /apps/bypy/v6/bypy/release.sh 1795 2017-06-02, 10:45:53 2017-06-02, 10:45:53 c086eb283e9554bbcd23daf0888e2819比较本地与百度网盘# 先删除本地一个文件

[root@localhost ~]# rm ./bypy/release.sh

# 对比

[root@localhost ~]# bypy compare v6/bypy ./bypy

==== Same files ===

F - MANIFEST.in

... omit ...

F - bypy/monkey.py

F - README.md

==== Different files ===

==== Local only ====

==== Remote only ====

F - release.sh

Statistics:

--------------------------------

Same: 131

Different: 0

Local only: 0

Remote only: 1

通过以上可以看到,相同文件131,远程目录多了一个文件。其他

bypy支持的操作很多,使用bypy help即可以看到,若要调试,使用以下参数可以打开对应调试信息:运行时添加-v参数,会显示进度详情。

运行时添加-d,会显示一些调试信息。

运行时添加-ddd,还会会显示HTTP通讯信息(警告:非常多)

数据库备份自动上传到百度网盘

之前也写过很多关于Mysql备份的文章,如果要详细查看,请打开以下链接:分类MySQL# create back script.

[root@localhost ~]# touch mysql_back.sh

# add executable permissions

[root@localhost ~]# chmod +x mysql_back.sh

[root@localhost ~]# vim mysql_back.sh

#!/bin/bash

#

# backup mysqldump file to baidu yunPan

# filepath: /usr/local/bin/mysql_back.sh

# Author: samzong

#

function upload_file(){

TIME=`date "+%Y%m%d%H%M%S"`

folder="/mysqlbak"

filename="db_$TIME.sql"

filePath=$folder/$filename

if [ ! -f $filePath ]; then

echo "[ERROR]["`date +%Y-%m-%d' '%H:%M:%S`"] $folder/$filename not found."

else

echo "[INFO]["`date +%Y-%m-%d' '%H:%M:%S`"] $folder/$filename has been found. Start uploading ......"

bypy upload "$filePath" "v6/mysql_backup/$filename"

echo "[INFO]["`date +%Y-%m-%d' '%H:%M:%S`"] Uploading end."

fi

}

# set TIME variable

TIME=`date "+%Y%m%d%H%M%S"`

# backup db ghost to /mysqlbak/

mysqldump --single-transaction -h localhost -u ghost_backuser -pbackupPass ghost > /mysqlbak/db_$TIME.sql

# tar sql file

tar czvf /mysqlbak/ghost_$TIME.sql.tgz /mysqlbak/ghost_$TIME.sql --remove-files

# upload sql file to baidu yunPan.

upload_file;

# send mial to admin'mial

if [ $? -eq 0 ]; then

echo "ghost SQL dump is successfully. At time: `date` " | mail -s ghost-dump-successfully samzong.lu@gmail.com

else

echo " Error Error ghost SQL dump is Error. At time: `date` " | mail -s ghost-dump-error samzong.lu@gmail.com

fi

添加计划任务~ crontab -e

00 00 * * * sh /usr/local/bin/mysql_back.sh

python百度网盘-百度网盘 Python 客户端相关推荐

  1. python requests请求下载百度网盘文件

    python requests请求下载百度网盘文件 注意:这里需要添加网盘账号的cookie值,可以手动登录账号复制cookie(浏览器登录账号后按F12 > 点击Network > 刷新 ...

  2. 百度网盘开放平台接入(Python)

    百度网盘开放平台接入(Python) 百度网盘开放平台接入链接:https://pan.baidu.com/union/doc/nksg0sbfs 接入流程 1.请在官网首页右上角找到登录入口,使用百 ...

  3. python软件下载安装百度网盘-python网盘下载

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. pip install tencentcloud-sdk-python ...

  4. python网课百度网盘-我的“便(bian)宜”Python网课第一课

    一.Python介绍 python的创始人为吉多.范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多.范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  5. 玩转python轻松过二级 百度网盘,玩转Python轻松过二级

    商品详情 商品名称:玩转Python轻松过二级 商品编号:730249916 上架时间:2020-09-10 18:32:48 编辑推荐 null 内容简介 董付国编著的<玩转Python轻松过 ...

  6. 骆昊python100天百度网盘_GitHub - yiailake/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人.我们的目标是打造一个优质的Python交流社区,一 ...

  7. python软件下载安装百度网盘-【python编程+第四版】百度云下载 - 云盘精灵

    |- 用Python3带你从小白入门机器学习实战教程手册.pdf - 7.30 MB |- 人工智能Python实战代码 Python code for Artificial Intelligence ...

  8. 骆昊python100天百度网盘_GitHub - wnxy/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 说明:最近有很多想学习Python的小伙伴申请单独加我微信,因为我自己平时也很忙,没办法一一解答大家的问题,我创建了一个叫Python100天学习交 ...

  9. python百度云盘搜索引擎_2016百度云网盘搜索引擎源码,附带Python爬虫+PHP网站+Xunsearch搜索引擎...

    品牌: 其他 语言: PHP 数据库: Mysql 源文件: 完全开源(含全部源文件) 授权: 免授权 规格: 整站源码 移动端: 无移动端 安装服务: 收费安装(另补差价) 操作系统: Window ...

  10. 2023 最新一键下载百度网盘/阿里云盘/百度文库/道客巴巴/原创力文档

    苏生不惑第415 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过录制了个视频:2022年11月一键下载百度网盘/百度文库/豆丁/道客巴巴/原创力文档 ,2023年再更新下 . 爱奇艺 ...

最新文章

  1. Handler的postDelayed()关闭的方法
  2. 一家AI创业公司的自救:深陷疫情重点打击行业,60天从烧钱到盈利
  3. h5软盘占位把定位内容往上顶_安徽省计算机一级考试选择题、操作题、打字题库2012年上半年版.xls...
  4. 爬虫 无访问权限“_Windows10电脑系统共享打印机无访问权限解决方法
  5. 企业实战案例02_Jenkins_连接远程GitLab拉取代码
  6. Linux入门学习(十)
  7. ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
  8. (85)FPGA面试题-FIFO深度计算
  9. 算法:POJ1007 DNA sorting
  10. 简单的nios II 流水灯 软件部分
  11. PS磨皮滤镜降噪插件套装Imagenomic Professional Plugin Suite有什么功能
  12. 启发式算法 Heuristic
  13. 使用viewer实现图片预览
  14. VisualStudio 2019 新特性
  15. 英语软件那些好玩的功能你知道吗
  16. h0156.国王的金矿
  17. [Re]2022DASCTF Apr X FATE 防疫挑战赛
  18. 使用外网访问Microsoft 远程桌面(Microsoft Remote Desktop),实现对电脑的远程操控
  19. PCL中RANSAC模型的使用
  20. 牛客网错题集---机器学习基础篇

热门文章

  1. 【UDEV】 网卡MAC地址自动设置
  2. meanshift算法通俗讲解
  3. C语言实现FFT算法
  4. FAT文件系统简明教程
  5. 振动信号的短时傅里叶变换分析
  6. 计算机应用基础的课程讨论,(计算机教学论文:计算机应用基础课程教学方法的讨论.doc...
  7. 微信小程序转码机器人
  8. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.9.20
  9. java swfupload 302_SWFUpload 302
  10. 02Windows日志分析