The Command Line Client


The ownCloud Client packages contain a command line client, owncloudcmd, that can be used to synchronize ownCloud files to client machines from the command line.

Command Description

owncloudcmd performs a single sync run and then exits the synchronization process. In this manner, owncloudcmd processes the differences between client and server directories and propagates the files to bring both repositories to the same state. Contrary to the GUI-based client, owncloudcmd does not repeat synchronizations on its own. It also does not monitor for file system changes.

To invoke owncloudcmd, you must provide the local and the remote repository URL using the following command. Note that for Windows, you must be in the directory where ownCloud is installed while on Linux, you can use the command from anywhere. To show its location in Linux, type whereis owncloudcmd.

owncloudcmd [options] [arguments]

Regarding the arguments, all of them must be used in the following order and the placeholders replaced with real data:

source_dir server_url remote_folder
Arguments Description


This is the local directory.


This is the server URL.


The remote folder on the server.

The following options are supported by owncloudcmd:

Option Description

-s, --silent

Don’t be so verbose.

--httpproxy <http://server:port>

Specify a HTTP proxy to use.


Trust the SSL certification

--exclude <file>

Path to an exclude list [file]

--unsyncedfolders <file>

File containing the list of unsynced remote folders (selective sync)

--server <url>

Use [url] as the location of the server. Infinite Scale only (server location and spaces URL can differ)

-u, --user <name>

Use [name] as the login name

-p, --password <password>

Use [pass] as password


Do not block execution with interaction

--max-sync-retries <n>

Retries maximum n times (default to 3)

--uplimit <n>

Limit the upload speed of files to n KB/s

--downlimit <n>

Limit the download speed of files to n KB/s


Enables synchronization of hidden files


More verbose logging

-h, --help

Displays help on commandline options.


Displays help including Qt specific options.

-v, --version

Displays version information.

Credential Handling

owncloudcmd requires the user to specify the username and password using the standard URL pattern. The example is based on Linux and uses ownCloud Server as backend:

owncloudcmd /home/user/my_sync_folder \
            https://carla:secret@server/owncloud/remote.php/dav/files/carla/ \

To synchronize the ownCloud directory Music to the local directory media/music, through a proxy listening on port 8080, and on a gateway machine using IP address, the command line would be:

owncloudcmd --httpproxy \
              $HOME/media/music \
              https://server/owncloud/remote.php/dav/files/carla/ \

owncloudcmd will prompt for the username and password, unless they have been specified on the command line or -n has been passed.

Exclude List

owncloudcmd requires access to an exclude list file. It must either be installed along with owncloudcmd and thus be available in a system location, be placed next to the binary as sync-exclude.lst or be explicitly specified with the --exclude switch.

Command Line Client When Using AppImages

When using an AppImage installation with Linux, there is no owncloudcmd command you can start but the name of the AppImage. To use the command line client of the AppImage, just use the name of the AppImage and append the --cmd option plus all other parameters as listed in the Command Description. Replace […​] with the version you are using or take the name of the AppImage if you have named it otherwise. Example:

./ownCloud-[...]-x86_64.AppImage --cmd --help