See more info here
Dropbox Uploader is a BASH script which can be used to upload, download, delete, list files (and more!) from Dropbox, an online file sharing, synchronization and backup service.
It’s written in BASH scripting language and only needs cURL.
You can take a look to the GiHub project page.
Why use this script?
- Portable: It’s written in BASH scripting and only needs
cURL(curl is a tool to transfer data from or to a server, available for all operating systems and installed by default in many linux distributions).
- Secure: It’s not required to provide your username/password to this script, because it uses the official Dropbox API v2 for the authentication process.
Please refer to the Wiki for tips and additional information about this project. The Wiki is also the place where you can share your scripts and examples related to Dropbox Uploader.
- Cross platform
- Support for the official Dropbox API v2
- No password required or stored
- Simple step-by-step configuration wizard
- Simple and chunked file upload
- File and recursive directory download
- File and recursive directory upload
- Shell wildcard expansion (only for upload)
- Delete/Move/Rename/Copy/List/Share files
- Create share link
First, clone the repository using git (recommended):
git clone https://github.com/andreafabrizi/Dropbox-Uploader.git
or download the script manually using this command:
curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
Then give the execution permission to the script and run it:
$chmod +x dropbox_uploader.sh $./dropbox_uploader.sh
The first time you run
dropbox_uploader, you’ll be guided through a wizard in order to configure access to your Dropbox. This configuration will be stored in
The syntax is quite simple:
./dropbox_uploader.sh [PARAMETERS] COMMAND... [%%]: Optional param <%%>: Required param
- upload <LOCAL_FILE/DIR …> <REMOTE_FILE/DIR>
Upload a local file or directory to a remote Dropbox folder.
If the file is bigger than 150Mb the file is uploaded using small chunks (default 4Mb); in this case a . (dot) is printed for every chunk successfully uploaded and a * (star) if an error occurs (the upload is retried for a maximum of three times). Only if the file is smaller than 150Mb, the standard upload API is used, and if the ‑p option is used the default curl progress bar is displayed during the upload process.
The local file/dir parameter supports wildcards expansion.
- download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
Download file or directory from Dropbox to a local folder
- delete <REMOTE_FILE/DIR>
Remove a remote file or directory from Dropbox
- move <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
Move or rename a remote file or directory
- copy <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
Copy a remote file or directory
- mkdir <REMOTE_DIR>
Create a remote directory on DropBox
- list [REMOTE_DIR]
List the contents of the remote Dropbox folder
- share <REMOTE_FILE>
Get a public share link for the specified file or directory
- saveurl <URL> <REMOTE_DIR>
Download a file from an URL to a Dropbox folder directly (the file is NOT downloaded locally)
- search <QUERY> Search for a specific pattern on Dropbox and returns the list of matching files or directories
Print some info about your Dropbox account
- space Print some info about the space usage on your Dropbox account
Unlink the script from your Dropbox account
- -f <FILENAME>
Load the configuration file from a specific file
Skip already existing files when download/upload. Default: Overwrite
Enable DEBUG mode
Quiet mode. Don’t show progress meter or messages
Show file sizes in human readable format
Show cURL progress meter
Doesn’t check for SSL certificates (insecure)
./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