A replacement solution to using Google Drive in Ubuntu
Grive2
Get dependencies
You need to get the dependency libraries along with their development (-dev or -devel) packages:
- yajl 2.x
- libcurl
- STL (libstdc++)
- libgcrypt
- Boost (filesystem, program_options, regex, unit_test_framework and system)
- expat
There are also some optional dependencies:
- CppUnit (for unit tests)
- libbfd (for backtrace)
- binutils (for libiberty, required for compilation in OpenSUSE, Ubuntu, Arch and etc)
And tools:
- Git
- CMake
- C++ compiler (g++ or clang)
On a Debian/Ubuntu/Linux Mint machine just install the following packages:
sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev
Download sources
- Either checkout with git: git clone https://github.com/vitalif/grive2
- Or download a ZIP archive and unpack it to some directory.
CMake
Now that you are in the source code's “grive2” subdirectory (after 'cd /path/to/yourGriveSourceCodeDir/grive2'), at the prompt type:
mkdir build
cd build
cmake ..
- note the double period (..) as the argument to cmake, to denote the parent directory.
- You should get a success message like: ”– Build files have been written to: /your/dir”
- Don't run it with sudo - root access is not needed for building.
Make and install
At the prompt type:
make -j4
You'll get lots of messages & hopefully a success message: ”[100%] Built target grive_executable”. The executable file itself (called “grive”) will be placed in the “grive” subdirectory.
Then install it to the system binary directory (/usr/local/bin by default) by running:
sudo make install
Updates
For subsequent updates, you'll run `git pull` to get the latest source and then just rebuild and re-install it:
cd /path/to/yourGriveSourceCodeDir/grive2
git pull
cd build
cmake ..
make -j4
sudo make install
Usage
Backup
Since grive is still «beta» or «alpha» you should better keep a backup copy of your google directory.
First run
Change to your google drive sync directory, and run grive -a:
cd /home/you/yourGoogleDrive/
grive -a
The «-a» option is only needed the very first time you run grive.
Visit the URL that comes up, then post the auth code given (you must have been logged into Google). You should get some messages including «Synchronizing files» … now you are running.
Syncs
To sync, you must run the program manually (there is no «real-time watching» yet). At the prompt, type:
cd /home/you/yourGoogleDrive/
grive
You can set up a cron job, if you want this done on a regular basis.
Command line options
| Short option | Long option | Description |
|---|---|---|
| -h | --help | Produce help message |
| -v | --version | Display Grive version |
| -a | --auth | Request authorization token |
| -p arg | --path arg | Root directory to sync |
| -s arg | --dir arg | Single subdirectory to sync (remembered for next runs) |
| -V | --verbose | Verbose mode. Enable more messages than normal. |
| --log-http arg | Log all HTTP responses in this file for debugging. | |
| --new-rev | Create new revisions in server for updated files. | |
| -d | --debug | Enable debug level messages. Implies -v. |
| -l arg | --log arg | Set log output filename. |
| -f | --force | Force grive to always download a file from Google Drive instead of uploading it. |
| --dry-run | Only detect which files need to be uploaded/downloaded, without actually performing them. | |
| --ignore arg | Perl RegExp to ignore files (matched against relative paths, remembered for next runs). |
A replacement solution to using Google Drive in Ubuntu的更多相关文章
- 网盘的选择,百度网盘、google drive 还是 Dropbox
我是国内用户,需要越过Chinawall 我使用的是一枝红杏,用着还行 如果要买,结账时输入'laod80' 一枝红杏官网:官网地址 Dropbox: 稳定,速度快 Dropbox官网:链接 操作十分 ...
- 【转】Expire Google Drive Files 让Google Docs云盘共享连接在指定时间后自动失效
最近在清理Google Docs中之前共享过的文件链接,发现Google Docs多人协作共享过的链接会一直存在,在实际操作中较不灵活.正好订阅的RSS推送了Pseric写的这篇文章 - Expire ...
- WordPress UpdraftPlus插件 Google Drive 备份
本文连接地址: http://blog.tuzhuke.info/?p=168 本文作者:tuzhuke 完成时间:2015-04-10 使用wordpress 搭建自己的博客网站,但是对于租用的服务 ...
- Google Drive 里的文件下载的方法
Google Drive 里并不提供创建直接下载链接的选项,但是可以通过小小的更改链接形式就能把分享的内容保存到本地.例如,一份通过 Google Drive 分享的文件链接形式为: https:// ...
- Appengine直接下载文件并保存到google drive
一直对下载文件比较感兴趣.前些日子无意搜到google 推出一项服务,可以直接将文件下载到google drive中,原型猛戳这里,但有限额限制.一时脑洞大开,可不可以在appengine 上架设服务 ...
- Syncovery : Google Docs protocol completely replaced with Google Drive
Google Docs protocol completely replaced with Google Drive In May 2015, the older Google Docs API wa ...
- Linux 网站文件和数据库全量备份 一键脚本(支持FTP,Google Drive)
原文连接: https://teddysun.com/469.html 此文为转载,建议查看秋水大神的原文,排版更容易查看,另外,建议查看脚本源码,方便了解脚本运行过程, 脚本已测试,大神的脚本一如既 ...
- 教你用 google-drive-ocamlfuse 在 Linux 上挂载 Google Drive
如果你在找一个方便的方式在 Linux 机器上挂载你的 Google Drive 文件夹, Jack Wallen 将教你怎么使用 google-drive-ocamlfuse 来挂载 Google ...
- 在Google Drive上建立免费静态站点
现今建立一个属于自己的站点已经是一件非常普遍和简单的事情了. 你能够选择买空间,买域名.你也能够使用免费空间.免费域名.你能够选择动态的php wordpress,joomla或者是静态的站点(如使用 ...
随机推荐
- php使用 memcache 来存储 session 方法总结
设置session用memcache来存储 方法I: 在 php.ini 中全局设置 session.save_handler = memcache session.save_path = " ...
- 关于linux密码忘记问题解决方法
最近在试装centos,不小心把密码丢了,进不去,查了一下资料,找到了方法,试验成功.存在这里,备用. 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键 2. 再次用上 ...
- Python脚本模拟登录网页之GitHub篇
1. 通过Firefox配合插件Tamper Date获取登录时客户端向服务器端提交的数据, 并且发现authenticity_token这个字段每次登录时都不一样. POSTDATA=commit= ...
- [转]JNIEnv解析
1.关于JNIEnv和JavaVM JNIEnv是一个与线程相关的变量,不同线程的JNIEnv彼此独立.JavaVM是虚拟机在JNI层的代表,在一个虚拟机进程中只有一个JavaVM,因此该进程的所有线 ...
- yield return的用法简介
使用yield return 语句可一次返回一个元素. 迭代器的声明必须满足以下要求: 返回类型必须为 IEnumerable.IEnumerable<T>.IEnumerator 或 I ...
- 详解依赖注入(DI)和Ioc容器
简单的来说,关键技术就是:注册器模式. 场景需求 我们知道写一个类的时候,类本身是有个目的的,类里面有很多方法,每个方法搞定一些事情:我们叫这个类为主类. 另外这个主类会依赖一些其他类的帮忙,我们叫这 ...
- PHPExcel导出数据
require_once './class/Excel/PHPExcel.php'; //将(1,1)转换成"A1"形式 function getCoordinate($row, ...
- JS的基础知识
前言:写前端代码时的各种取值纠结,让我决定我必须要好好学一下js............加油~ $("#tr"+id).remove() 删除某一行,而不用刷新页面 HightCh ...
- Trace-跟踪高消耗的语句需添加哪些事件
通常接手一台数据库服务器后,我们会开启Profiler跟踪来了解SQL Server的繁忙情况.我们首先会想到的是监控CPU或Duration超过某一阈值的语句/过程.那么所创建的Trace添加哪些事 ...
- Java 集合的基本用法
package jaxpsax; import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; i ...