原因
Dropbox付费了好多年,近期价格升级,相册功能除了能够上传之外,没有强大的聚合功能,所以考虑更换网盘,而好久没有安装Dropbox客户端了,想到了用命令行的方式同步Dropbox到本地存档,本以为命令行版本的Dropbox很好用,一番使用之后发现始终同步不完整,于是寻求第三方解决方案,就有本文提到的Rclone
Rclone介绍
Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.
Rclone是一个命令行网盘同步工具,支持绝大多数市面上的网盘,包括Onedrive,Dropbox,Google云盘等等
Rclone 同步Dropbox方法
由于在配置Rclone的时候,发现使用Dropbox需要配合浏览器工具才能配置完毕,而在纯服务器的Linux当中基本上进行不下去,所以研究了一下Rclone的配置文件,直接将Dropbox相关配置写入即可。
实际上Rclone在~/.rclone.conf当中定义了所有的remote(即网盘)的配置模式,不同网盘有不同的配置模式,而对于Dropbox则是通过OAuth2来进行认证连接,并且在Dropbox后台可以管理该app的行为。
首先打开Dropbox的app控制台添加app
https://www.dropbox.com/developers/apps
选择Dropbox API-Full Dropbox-yourname即可
创建成功app之后,可以生成一个access_token,点击Generated access token即可
然后编辑rclone的配置文件
vi ~/.rclone.conf
[dropbox]
type = dropbox
token = {"access_token":"your access_token here","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
至此在rclone当中添加dropbox步骤完成,可以通过如下命令将rclone内容同步到本地(先添加一个本地local的网盘)
rclone sync dropbox: local:
记得使用screen保持一下会话,否则ssh断掉之后任务也随之断掉,最终静待同步成功即可