Dropbox
In CloudMount
Section titled “In CloudMount”- Sign-in happens in your browser.
- Names are case-insensitive, and a space at the end of a name is stored as a look-alike character.
- Changes made elsewhere show up within about 15 seconds on Windows, except with the
shared_filesorshared_foldersoptions on.
At a glance
Section titled “At a glance”| Capability | Support |
|---|---|
| rclone support tier | Tier 1: Core |
| Checksums | Dropbox content hash |
| Modification times | Kept, to 1 s |
| Case-insensitive names | Yes |
| Duplicate names allowed | No |
| Server-side copy | Yes |
| Server-side move and rename | Yes |
| Folder move and rename | Yes, in one step |
| Free space reporting | Yes |
| Empty folders | Yes |
| Change notifications | Yes |
| Uploads of unknown size | Yes |
| Public links | Yes |
remote:directory/subdirectory.
Setup notes
Section titled “Setup notes”In CloudMount you add this drive from the Add drive screen, and the wizard asks for the options listed under Options. The notes below come from rclone’s setup guide.
Dropbox for business
Section titled “Dropbox for business”Rclone supports Dropbox for business and Team Folders.
When using Dropbox for business remote: and remote:path/to/file
will refer to your personal folder.
If you wish to see Team Folders you must use a leading / in the
path, so rclone lsd remote:/ will refer to the root and show you all
Team Folders and your User Folder.
You can then use team folders like this remote:/TeamFolder and
remote:/TeamFolder/path/to/file.
A leading / for a Dropbox personal account will do nothing, but it
will take an extra HTTP transaction so it should be avoided.
Modification times and hashes
Section titled “Modification times and hashes”Dropbox supports modified times, but the only way to set a modification time is to re-upload the file.
This means that if you uploaded your data with an older version of
rclone which didn’t support the v2 API and modified times, rclone will
decide to upload all your old data to fix the modification times. If
you don’t want this to happen use --size-only or --checksum flag
to stop it.
Dropbox supports its own hash type which is checked for all transfers.
Restricted filename characters
Section titled “Restricted filename characters”| Character | Value | Replacement |
|---|---|---|
| NUL | 0x00 | ␀ |
| / | 0x2F | / |
| DEL | 0x7F | ␡ |
| \ | 0x5C | \ |
File names can also not end with the following characters. These only get replaced if they are the last character in the name:
| Character | Value | Replacement |
|---|---|---|
| SP | 0x20 | ␠ |
Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON strings.
Batch mode uploads
Section titled “Batch mode uploads”Using batch mode uploads is very important for performance when using the Dropbox API. See the dropbox performance guide for more info.
There are 3 modes rclone can use for uploads.
--dropbox-batch-mode off
Section titled “--dropbox-batch-mode off”In this mode rclone will not use upload batching. This was the default
before rclone v1.55. It has the disadvantage that it is very likely to
encounter too_many_requests errors like this
NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds.When rclone receives these it has to wait for 15s or sometimes 300s before continuing which really slows down transfers.
This will happen especially if --transfers is large, so this mode
isn’t recommended except for compatibility or investigating problems.
--dropbox-batch-mode sync
Section titled “--dropbox-batch-mode sync”In this mode rclone will batch up uploads to the size specified by
--dropbox-batch-size and commit them together.
Using this mode means you can use a much higher --transfers
parameter (32 or 64 works fine) without receiving too_many_requests
errors.
This mode ensures full data integrity.
Note that there may be a pause when quitting rclone while rclone finishes up the last batch using this mode.
--dropbox-batch-mode async
Section titled “--dropbox-batch-mode async”In this mode rclone will batch up uploads to the size specified by
--dropbox-batch-size and commit them together.
However it will not wait for the status of the batch to be returned to
the caller. This means rclone can use a much bigger batch size (much
bigger than --transfers), at the cost of not being able to check the
status of the upload.
This provides the maximum possible upload speed especially with lots of small files, however rclone can’t check the file got uploaded properly using this mode.
If you are using this mode then using “rclone check” after the
transfer completes is recommended. Or you could do an initial transfer
with --dropbox-batch-mode async then do a final transfer with
--dropbox-batch-mode sync (the default).
Note that there may be a pause when quitting rclone while rclone finishes up the last batch using this mode.
Exporting files
Section titled “Exporting files”Certain files in Dropbox are “exportable”, such as Dropbox Paper documents. These files need to be converted to another format in order to be downloaded. Often multiple formats are available for conversion.
When rclone downloads a exportable file, it chooses the format to
download based on the --dropbox-export-formats setting. By
default, the export formats are html,md, which are sensible
defaults for Dropbox Paper.
Rclone chooses the first format ID in the export formats list that Dropbox supports for a given file. If no format in the list is usable, rclone will choose the default format that Dropbox suggests.
Rclone will change the extension to correspond to the export format. Here are some examples of how extensions are mapped:
| File type | Filename in Dropbox | Filename in rclone |
|---|---|---|
| Paper | mydoc.paper | mydoc.html |
| Paper template | mydoc.papert | mydoc.papert.html |
| other | mydoc | mydoc.html |
Importing exportable files is not yet supported by rclone.
Here are the supported export extensions known by rclone. Note that rclone does not currently support other formats not on this list, even if Dropbox supports them. Also, Dropbox could change the list of supported formats at any time.
| Format ID | Name | Description |
|---|---|---|
| html | HTML | HTML document |
| md | Markdown | Markdown text format |
Options
Section titled “Options”Standard options
Section titled “Standard options”The wizard asks for these when you add the drive.
client_id
Section titled “client_id”OAuth Client Id.
Leave blank normally.
Type: string
client_secret
Section titled “client_secret”OAuth Client Secret.
Leave blank normally.
Type: string
Advanced options
Section titled “Advanced options”The wizard shows these under Advanced options. Most drives work without changing any of them.
OAuth Access Token as a JSON blob.
Type: string
auth_url
Section titled “auth_url”Auth server URL.
Leave blank to use the provider defaults.
Type: string
token_url
Section titled “token_url”Token server url.
Leave blank to use the provider defaults.
Type: string
client_credentials
Section titled “client_credentials”Use client credentials OAuth flow.
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
Note that this option is NOT supported by all backends.
Type: bool · Default: false
chunk_size
Section titled “chunk_size”Upload chunk size (< 150Mi).
Any files larger than this will be uploaded in chunks of this size.
Note that chunks are buffered in memory (one at a time) so rclone can deal with retries. Setting this larger will increase the speed slightly (at most 10% for 128 MiB in tests) at the cost of using more memory. It can be set smaller if you are tight on memory.
Type: SizeSuffix · Default: 48Mi
impersonate
Section titled “impersonate”Impersonate this user when using a business account.
Note that if you want to use impersonate, you should make sure this flag is set when running “rclone config” as this will cause rclone to request the “members.read” scope which it won’t normally. This is needed to lookup a members email address into the internal ID that dropbox uses in the API.
Using the “members.read” scope will require a Dropbox Team Admin to approve during the OAuth flow.
You will have to use your own App (setting your own client_id and client_secret) to use this option as currently rclone’s default set of permissions doesn’t include “members.read”. This can be added once v1.55 or later is in use everywhere.
Type: string
impersonate_admin
Section titled “impersonate_admin”Team admin ID to use when performing actions as a team administrator.
This sets the Dropbox-API-Select-Admin header with the given team member ID (for example “dbmid:…”).
This takes a team member ID directly rather than an email address.
Note that if you want to use impersonate_admin, you should make sure this flag is set when running “rclone config” as this will cause rclone to request the “team_data.member” scope which it won’t normally.
Using the “team_data.member” scope will require a Dropbox Team Admin to approve during the OAuth flow.
You will have to use your own App (setting your own client_id and client_secret) to use this option as currently rclone’s default set of permissions doesn’t include “team_data.member”.
Type: string
shared_files
Section titled “shared_files”Instructs rclone to work on individual shared files.
In this mode rclone’s features are extremely limited - only list (ls, lsl, etc.) operations and read operations (e.g. downloading) are supported in this mode. All other operations will be disabled.
Type: bool · Default: false
shared_folders
Section titled “shared_folders”Instructs rclone to work on shared folders.
When this flag is used with no path only the List operation is supported and all available shared folders will be listed. If you specify a path the first part will be interpreted as the name of shared folder. Rclone will then try to mount this shared to the root namespace. On success shared folder rclone proceeds normally. The shared folder is now pretty much a normal folder and all normal operations are supported.
Note that we don’t unmount the shared folder afterwards so the –dropbox-shared-folders can be omitted after the first use of a particular shared folder.
See also –dropbox-root-namespace for an alternative way to work with shared folders.
Type: bool · Default: false
skip_shared_folders
Section titled “skip_shared_folders”Instructs rclone to skip all shared folders.
When set, any folder that is a shared folder mount point will be excluded from directory listings, regardless of ownership. This is useful if you prefer to back up shared folders separately using a separate remote configured with the shared folder namespace.
Type: bool · Default: false
skip_unowned_folders
Section titled “skip_unowned_folders”Instructs rclone to skip shared folders not owned by the current user.
When set, any folder that is a shared folder mount point and not owned by the current user will be excluded from directory listings. This is useful when backing up multiple Dropbox accounts that share common folders, to avoid duplicating the shared data across accounts.
Note: In Dropbox Business, ‘Team Folders’ are owned by the Team. For standard team members, these folders evaluate as ‘unowned’ (editor/viewer access) and will be excluded by this flag. To back up Team Folders, do not use this flag or run the backup using a Team Admin account.
If –dropbox-skip-shared-folders is also enabled, this flag has no effect.
This makes an extra API call per shared folder mount point.
Type: bool · Default: false
pacer_min_sleep
Section titled “pacer_min_sleep”Minimum time to sleep between API calls.
Type: Duration · Default: 10ms
encoding
Section titled “encoding”The encoding for the backend.
See the encoding section in the overview for more info.
Type: Encoding · Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
root_namespace
Section titled “root_namespace”Specify a different Dropbox namespace ID to use as the root for all paths.
Type: string
export_formats
Section titled “export_formats”Comma separated list of preferred formats for exporting files
Certain Dropbox files can only be accessed by exporting them to another format. These include Dropbox Paper documents.
For each such file, rclone will choose the first format on this list that Dropbox considers valid. If none is valid, it will choose Dropbox’s default format.
Known formats include: “html”, “md” (markdown)
Type: CommaSepList · Default: html,md
skip_exports
Section titled “skip_exports”Skip exportable files in all listings.
If given, exportable files practically become invisible to rclone.
Type: bool · Default: false
show_all_exports
Section titled “show_all_exports”Show all exportable files in listings.
Adding this flag will allow all exportable files to be server side copied. Note that rclone doesn’t add extensions to the exportable file names in this mode.
Do not use this flag when trying to download exportable files - rclone will fail to download them.
Type: bool · Default: false
batch_mode
Section titled “batch_mode”Upload file batching sync|async|off.
This sets the batch mode used by rclone.
For full info see the main docs
This has 3 possible values
- off - no batching
- sync - batch uploads and check completion (default)
- async - batch upload and don’t check completion
Rclone will close any outstanding batches when it exits which may make a delay on quit.
Type: string · Default: sync
batch_size
Section titled “batch_size”Max number of files in upload batch.
This sets the batch size of files to upload. It has to be less than 1000.
By default this is 0 which means rclone will calculate the batch size depending on the setting of batch_mode.
- batch_mode: async - default batch_size is 100
- batch_mode: sync - default batch_size is the same as –transfers
- batch_mode: off - not in use
Rclone will close any outstanding batches when it exits which may make a delay on quit.
Setting this is a great idea if you are uploading lots of small files as it will make them a lot quicker. You can use –transfers 32 to maximise throughput.
Type: int · Default: 0
batch_timeout
Section titled “batch_timeout”Max time to allow an idle upload batch before uploading.
If an upload batch is idle for more than this long then it will be uploaded.
The default for this is 0 which means rclone will choose a sensible default based on the batch_mode in use.
- batch_mode: async - default batch_timeout is 10s
- batch_mode: sync - default batch_timeout is 500ms
- batch_mode: off - not in use
Type: Duration · Default: 0s
description
Section titled “description”Description of the remote.
Type: string
Limitations
Section titled “Limitations”Note that Dropbox is case insensitive so you can’t have a file called “Hello.doc” and one called “hello.doc”.
There are some file names such as thumbs.db which Dropbox can’t
store. There is a full list of them in the “Ignored Files” section
of this document. Rclone will
issue an error message File name disallowed - not uploading if it
attempts to upload one of those file names, but the sync won’t fail.
Some errors may occur if you try to sync copyright-protected files
because Dropbox has its own copyright detector
that prevents this sort of file being downloaded. This will return the error
ERROR : /path/to/your/file: Failed to copy: failed to open source object: path/restricted_content/.
If you have more than 10,000 files in a directory then rclone purge dropbox:dir will return the error Failed to purge: There are too many files involved in this operation. As a work-around do an
rclone delete dropbox:dir followed by an rclone rmdir dropbox:dir.
When using rclone link you’ll need to set --expire if using a
non-personal account otherwise the visibility may not be correct.
(Note that --expire isn’t supported on personal accounts). See the
forum discussion
and the
dropbox SDK issue.
Modification times for Dropbox Paper documents are not exact, and
may not change for some period after the document is edited.
To make sure you get recent changes in a sync, either wait an hour
or so, or use --ignore-times to force a full sync.
Get your own Dropbox App ID
Section titled “Get your own Dropbox App ID”When you use rclone with Dropbox in its default configuration you are using rclone’s App ID. This is shared between all the rclone users.
Here is how to create your own Dropbox App ID for rclone:
-
Log into the Dropbox App console with your Dropbox Account (It need not to be the same account as the Dropbox you want to access)
-
Choose an API => Usually this should be
Dropbox API -
Choose the type of access you want to use =>
Full DropboxorApp Folder. If you want to use Team Folders,Full Dropboxis required (see here). -
Name your App. The app name is global, so you can’t use
rclonefor example -
Click the button
Create App -
Switch to the
Permissionstab. Enable at least the following permissions:account_info.read,files.metadata.write,files.content.write,files.content.read,sharing.write. Thefiles.metadata.readandsharing.readcheckboxes will be marked too. ClickSubmit -
Switch to the
Settingstab. FillOAuth2 - Redirect URIsashttp://localhost:53682/and click onAdd -
Find the
App keyandApp secretvalues on theSettingstab. Use these values in rclone config to add a new remote or edit an existing remote. TheApp keysetting corresponds toclient_idin rclone config, theApp secretcorresponds toclient_secret