备份linux下面的文件到Google Driver或者坚果云

2018年4月11日 0 作者 筱枫

坚果云是国内一款非常良心的产品,免费版足够大多数人用了,虽然有着1G上传,3G下载的流量限制级,但因为采用了差异同步,所以实际上并不算很大

而Google Drive自然就不用多说了,但在国内的话,不是常时梯子的话还是有些麻烦的,所以推荐坚果云,下面介绍如何在linux命令行中同步数据到上面

Google Drive:

这里借助gdrive工具,我采用的是:https://github.com/prasmussen/gdrive

首先下载,然后视自己需要放到/usr/bin或者/sbin下面

开始配置


gdrive about

接着它会显示出一个链接,放到浏览器里面打开,然后进行oauth2.0授权,接着将授权码输入gdrive中,配置完成。

一些常用命令:

gdrive list              显示所有的文件,包含目录

gdrive upload 上传本地文件到Google Drive

gdrive update 更新本地文件,其中fileID可以用gdrive list看到,也就是文件必须先上传,才能更新


 

坚果云:

由于坚果云支持WebDAV,所以可以很方便的用cadaver工具来进行操作


yum install cadaver

安装工具,接着在浏览器中登陆你的坚果云账户,找到 账户信息-安全选项-第三方应用管理 在当中添加应用密码

接着,测试一下


cadaver https://dav.jianguoyun.com/dav/

然后依次输入你的坚果云登陆账号,以及刚刚生成的应用密码
接着就登陆上去了,然后可以像普通文件系统一样使用ls,cd等,上传下载跟ftp差不多,put上传,get下载
例如
put test.file
将文件test.file上传至根目录下,如果想用上传至其他的目录,可以cd过去,或者在打开url的时候带上目录名,例如

 cadaver https://dav.jianguoyun.com/dav/你的目录名 

非交互式登录

所谓的非交互式登陆其实就是不用输入账号密码,实现跟上面的gdrive一样直接命令将文件上传上去的效果

详情可以使用 man cadaver查看手册


vim ~/.netrc

当中配置成如下

machine https://dav.jianguoyun.com/dav/ default
login 坚果云账号
passwd 应用密码

 

再输入

 cadaver https://dav.jianguoyun.com/dav/ 

测试一下,是不是直接就进去了呢?
如果仍旧提示要账号密码,仔细检查下.netrc文件,看看账号密码是否配置正确
然后可以考虑用个文件放上一些命令,通过标准输入直接执行
例如

vim test.txt

#在当中输入
put test.file
exit

#命令行执行
cadaver https://dav.jianguoyun.com/dav/ < test.txt

即可,现在试试吧。

Tips:如果使用crontab时gdrive不工作的情况,很有可能是环境变量的问题,在你的脚本中加入


source /etc/profile

source ~/.bash_profile

即可

 

文章参考:http://365linux.com/jianguo-webdav.html