0%

数据备份系列——Google-Drive第三方CLI工具-gdrive

一.介绍

在去年的网盘倒闭风波搞怕了不少人吧,转移那么多数据也是头疼,所以不如找几个不怕倒闭的……比如DropBox或者Google Drive。微软的OneDrive虽然国内能直连,但是速度其实也是比较头疼的,倒不如这种在特定环境下反而可以满速的了。

Google Drive在GSuite For Bussiness(或者Education)的版本里可以做到无限容量(起码是现在),所以我拿来做服务器上的数据备份,美滋滋,全球服务器都几乎能满速,而且也不用担心容量问题,棒棒的。那么问题来了,我们怎么使用呢,毕竟我绝大部分是Linux服务器,也没装图形界面啥的。官方提供的是有界面的工具,所以我们需要找CLI工具,也就是能在命令行中直接运行的。

本次我们介绍的是gdrive ——>传送门

该工具是由Go语言编写的,单个二进制文件即可使用,采用Google API方式进行授权,并在本地缓存授权。贴心的作者提供了一大堆各种平台的二进制文件且完全静态编译,无需任何其他依赖,简直牛逼。当然,如果你非想要编译(比如你想要自己修改啥的),那么也是相当简单的(厉害了我的Go)。

二.安装配置

由于全都给你准备好了……所以安装真的太鸡儿简单了

wget -O /usr/bin/gdrive https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download

chmod +x /usr/bin/gdrive
然后就好了……接下来就是配置了

gdrive about
然后会出现一串网址并询问验证码

将地址粘贴到浏览器并登陆账号,会返回一串代码

将代码粘贴回去回车,然后会返回你的账户信息

gdrive程序会自动将你的token保存在用户目录下的.gdrive目录中,所以如果不需要了记得把这个文件删掉

当然也可以去看看谷歌授权那个页面——> 传送门 删掉授权,不过这个貌似删掉了其它所有用gdrive的客户端都得重新来,所以除非你完全不需要了,不然还是留着吧

三.操作

到这儿其实你已经可以通过gdrive在命令行中进行正常的上传下载了,我这边简单的介绍几种常用操作,详细的请前往Github查看说明或者使用gdrive help命令查看可用命令

①gdrive的复杂操作需要以表达式的方式进行,这是由于Google Drive的API要求的

所以会存在如下这样的操作

关键字检索

gdrive list -q “name contains ‘关键字’”

列出指定目录下的文件,不支持递归显示

gdrive list -q “‘文件夹ID’ in parents”
②在Google Drive中文件或者是文件夹都以唯一的ID形式存在,所以请善用list命令查看ID

③操作默认入口均为Google Drive根目录,如果需要指定操作的目标位置,需要以-p, –parent 参数来指定父目录

④真·常用操作

从Google Drive根目录处列目录(文件)

gdrive list

从Google Drive根目录处创建文件夹

gdrive mkdir “文件夹名”

上传文件到Google Drive根目录处

gdrive upload /path/to/file

下载指定文件到当前位置(如果需要下载文件夹可以使用-r, –recursive 来实现递归下载)

gdrive download 文件ID

四.附

其实,作为一个CLI工具,它的最大作用是配合脚本实现定时操作

我们可以按照日期来创建目录或是作为文件名来实现压缩备份指定目录并上传

这类脚本网上不少,所以大家自己去找找吧,我这边也不写了