nextcloud-desktop/doc/nextcloudcmd.rst
Felix Weilbach 3e61bdc431 Use dav instead of webdav
Fixes #3342

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-16 12:42:02 +00:00

3.6 KiB

The Nextcloud Client packages contain a command line client, nextcloudcmd, that can be used to synchronize Nextcloud files to client machines.

nextcloudcmd performs a single sync run and then exits the synchronization process. In this manner, nextcloudcmd 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, nextcloudcmd does not repeat synchronizations on its own. It also does not monitor for file system changes.

Install nextcloudcmd

CentOS

$ sudo yum -y install epel-release
$ sudo yum -y install nextcloud-client

Ubuntu/Debian

$ sudo add-apt-repository ppa:nextcloud-devs/client
$ sudo apt update
$ sudo apt install nextcloud-client

Refer to the link

To invoke nextcloudcmd, you must provide the local and the remote repository URL using the following command:

nextcloudcmd [OPTIONS...] sourcedir nextcloudurl

where sourcedir is the local directory and nextcloudurl is the server URL.

Other command line switches supported by nextcloudcmd include the following:

--user, -u [user]

Use user as the login name.

--password, -p [password]

Use password as the password.

-n

Use netrc (5) for login.

--non-interactive

Do not prompt for questions.

--silent, --s

Inhibits verbose log output.

--trust

Trust any SSL certificate, including invalid ones.

--httpproxy http://[user@pass:]<server>:<port>

Uses server as HTTP proxy.

--nonshib

Uses Non Shibboleth WebDAV Authentication

--davpath [path]

Overrides the WebDAV Path with path

--exclude [file]

Exclude list file

--unsyncedfolders [file]

File containing the list of un-synced remote folders (selective sync)

--max-sync-retries [n]

Retries maximum n times (defaults to 3)

-h

Sync hidden files, do not ignore them

Credential Handling

nextcloudcmd requires the user to specify the username and password using the standard URL pattern, e.g.,

$ nextcloudcmd /home/user/my_sync_folder https://carla:secret@server/nextcloud/remote.php/dav/

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

$ nextcloudcmd --httpproxy http://192.168.178.1:8080 \
              $HOME/media/music \
              https://server/nextcloud/remote.php/dav/Music

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

Exclude List

nextcloudcmd requires access to an exclude list file. It must either be installed along with nextcloudcmd 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.

Example

  • Synchronize a local directory to the specified directory of the nextcloud server
$ nextcloudcmd /home/user/<my_sync_folder> \
https://<username>:<secret>@<server_address>/remote.php/dav/<Directory_that_has_been_created>