Dropbox脚本工具DropboxUploader

Dropbox Uploader是一款专为Dropbox开发的BASH脚本,可以实现上传、下载、删除、列出文件清单、在线分享、同步和备份等功能。

它使用BASH脚本语言写成,只需要cURL即可使用。

项目主页 GiHub project page.

为什么使用此脚本?

  • 绿色轻便:使用BASH脚本语言写成,仅仅需要cURL一个软件(curl是一个数据传输工具,大部分linux发行版均会内置该软件)。
  • 安全: 不需要提供帐号密码,该脚本使用官方API进行验证。

更多的扩展信息和使用技巧请参考官方wiki,该wiki同时提供Dropbox Uploader相关的使用实例和脚本。

特性

  • 跨平台
  • 支持官方Dropbox API v2
  • 无需密码
  • 简单的配置提示
  • 分块文件上传
  • 递归文档下载
  • 递归文档上传
  • Shell通配符扩展 (仅上传)
  • 删除/移动/重命名/拷贝/列出/分享文件
  • 创建分享连接
  • 监视变化

安装配置DropboxUploader

使用git拷贝官方仓库:

git clone https://github.com/andreafabrizi/Dropbox-Uploader.git

或者直接下载脚本:

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh

给脚本添加执行权限并运行:

 $chmod +x dropbox_uploader.sh
 $./dropbox_uploader.sh

第一次运行dropbox_uploader时,会有鉴权提示,按照提示在https://www.dropbox.com/developers/apps新建api app,然后在app管理页找到Generated access token创建access token,将access token粘贴到DropboxUploader提示行按回车键,随后会提示成功接入Dropbox。配置文件保存在~/.dropbox_uploader

使用DropboxUploader

DropboxUploader语法非常简单:

./dropbox_uploader.sh [PARAMETERS] COMMAND...


<%%>: 必须参数

可使用命令:

  • upload <LOCAL_FILE/DIR …> <REMOTE_FILE/DIR>

上传本地文件或目录到Dropbox。

  • download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
    从Dropbox下载文件或目录到本地

  • delete <REMOTE_FILE/DIR>
    删除Dropbox上的文件或目录

  • move <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
    移动或重命名远端文件或目录

  • copy <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
    拷贝远端文件或目录

  • mkdir <REMOTE_DIR>
    在Dropbox创建目录

  • list [REMOTE_DIR]
    列出Dropbox目录内容

  • monitor [REMOTE_DIR][TIMEOUT]

监控远端目录变化,如果超时退出,则会反馈第一次变化。

  • share <REMOTE_FILE>
    获取远端文件或目录的公开连接

  • saveurl <URL> <REMOTE_DIR>

从URL下载文件到Dropbox

  • search <QUERY>

搜索特定文件

  • info
    显示Dropbox帐户相关信息

  • space 示当前帐户容量使用情况

  • unlink
    断开Dropbox帐户连接

扩展参数:

  • -f <FILENAME>
    从特定文件加载配置
  • -s
    Skip already existing files when download/upload. Default: Overwrite
  • -d
    开启DEBUG模式
  • -q
    Quiet mode. Don’t show progress meter or messages
  • -h
    显示可读的文件大小格式
  • -p
    显示cURL过程提示
  • -k
    不检查SSL证书(不安全)

DropboxUploader使用实例:

    ./dropbox_uploader.sh upload /etc/passwd /myfiles/passwd.old
    ./dropbox_uploader.sh upload *.zip /
    ./dropbox_uploader.sh download /backup.zip
    ./dropbox_uploader.sh delete /backup.zip
    ./dropbox_uploader.sh mkdir /myDir/
    ./dropbox_uploader.sh upload "My File.txt" "My File 2.txt"
    ./dropbox_uploader.sh share "My File.txt"
    ./dropbox_uploader.sh list

已通过测试环境

  • GNU Linux
  • FreeBSD 8.310.0
  • MacOSX
  • Windows/Cygwin
  • Raspberry Pi
  • QNAP
  • iOS
  • OpenWRT
  • Chrome OS
  • OpenBSD

设置代理

如果需要使用代理服务器,只需对https_proxy变量进行设置即可:

Linux:

    export HTTP_PROXY_USER=XXXX
    export HTTP_PROXY_PASSWORD=YYYY
    export https_proxy=http://192.168.0.1:8080

BSD:

    setenv HTTP_PROXY_USER XXXX
    setenv HTTP_PROXY_PASSWORD YYYY
    setenv https_proxy http://192.168.0.1:8080

BASH和Curl安装

Debian & Ubuntu Linux:

    sudo apt-get install bash (Probably BASH is already installed on your system)
    sudo apt-get install curl

BSD:

    cd /usr/ports/shells/bash && make install clean
    cd /usr/ports/ftp/curl && make install clean

Cygwin:
需要安装以下文件:

  • curl
  • ca-certificates
  • dos2unix

运行脚本前,你需要使用dos2unix对脚本进行转换。

从源码安装cURL: