Dropbox on linux server - how to include/exclude folders?

The official Dropbox CLI has an exclude option.

On Linux Dropbox has a client (dropbox) and a deamon (dropboxd).

The client has the exclude command, which you can use to exclude directories. E.g. to exclude node_modules from Dropbox you can enter dropbox exclude add ./node_modules

dropbox help exclude will print the help information:

dropbox exclude [list]
dropbox exclude add [DIRECTORY] [DIRECTORY] ...
dropbox exclude remove [DIRECTORY] [DIRECTORY] ...

"list" prints a list of directories currently excluded from syncing.
"add" adds one or more directories to the exclusion list, then resynchronizes Dropbox.
"remove" removes one or more directories from the exclusion list, then resynchronizes Dropbox.
With no arguments, executes "list".
Any specified path must be within Dropbox.

I've found the behaviour has changed recently and dropbox exclude now seems to affect the "Selective Sync" i.e "You have a folder on the dropbox cloud that you do not want to sync to the local machine" instead of "You have a folder on the local machine that you do not want to sync to dropbox"

You will want to ignore files instead.

attr -s com.dropbox.ignored -V 1 somefolder

Imagine a folder on root of Dropbox named "YOURFOLDER"

1 - Tip: cd ~/Dropbox

2 - Press Enter

3 - Tip: dropbox exclude add ~/Dropbox/YOURFOLDER

4 - Press Enter

To confirm

1 - tip: dropbox exclude list

2 - Press Enter

A list of excluded folders will appear:

Excluded: ../../../root/Dropbox/YOURFOLDER


For the most part the Dropbox CLI works well. Here are a few gotchas I've found with Ubuntu Server (14.04).

  1. For exclude to work properly it helps to be in the Dropbox folder cd ~/Dropbox\ \(blah\)/ and then to exclude the directory ~/Dropbox (blah)$ ~/bin/dropbox.py exclude add /home/<USERNAME>/Dropbox\ \(blah\)/somefolder.
  2. If you exclude a higher level folder, but want to add it back and exclude sub-folders from it, remove the higher level folder from selective sync