用Python备份WordPress数据至Google Drive

Written by    22:10 July 28, 2016 

前段时间因为Google Photos照片传太多把Google Drive空间用完了,就买了三刀一个月的Google会员,然后就发现100G空间似乎一时半会儿还用不完,正好之前一直想着给博客服务器来个自动备份脚本,所以就先把坑填了。

但是港真,Google Drive家的Python API无论是文档还是API本身都没有Dropbox好用,有可能Dropbox家相对于G家还是更重视Python,可惜Dropbox会员一个月九刀起步,我实在是用不上。

准备

创建Application:

  1. Google API控制台创建一个Application。
  2. 进入应用,在左侧Library里面找到Google Drive API并且Enable。
  3. 点击左侧边栏里面的Credentials接着Create Credentials, 然后创建OAuth client ID,Application type选择Other,官方文档QuickStart说的是选择Web application,可是那样的话就无法在命令行里面完成账号验证了,最后点Save就完成创建Application了。
  4. 点击右侧下载按钮,将client_secret_[id].json 文件下载到程序运行目录并且重命名为client_secret.json。

安装PyDrive:

Google Drive本身是有提供API的,除此之外还提供了基于原有API的Python程序,即PyDrive。安装的时候不要使用pip install pydrive来安装,因为这样装的1.01版本有一个bug会导致上传大文件的时候出现内存溢出,所以得从github上下载安装最新版。

然后创建配置文件settings.yaml保存在程序运行目录:

配置文件详细参见OAuth made easy

创建Google Drive目录:

在Google Drive网页上新建一个文件夹,并且点击打开文件夹,网址中https://drive.google.com/drive/folders/后面的部分就是文件夹的ID。

比如

文件夹的ID就是0B5GemgRzQWc-SU1ET3lDT1ZrRzA

Coding

在运行的时候第一次需要打开打开命令行里面显示的链接来完成账号授权,之后就不用验证了,使用crontab实现自动备份。

References:

http://pythonhosted.org/PyDrive/quickstart.html#authentication

 

Category : experience

Tags :