desktop/doc/nextcloudcmd.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

128 lines
3.6 KiB
ReStructuredText
Raw Permalink Normal View History

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
::
$ sudo add-apt-repository ppa:nextcloud-devs/client
$ sudo apt update
$ sudo apt install nextcloud-client
Debian
::
$ sudo apt install nextcloud-desktop-cmd
Refer to the link
- https://nextcloud.com/install/#install-clients
- https://launchpad.net/~nextcloud-devs/+archive/ubuntu/client
- https://pkgs.alpinelinux.org/packages?name=nextcloud-client
- https://help.nextcloud.com/t/linux-packages-status/10216
To invoke ``nextcloudcmd``, you must provide the local and the remote repository
URL using the following command::
2014-03-20 15:35:24 +00:00
nextcloudcmd [OPTIONS...] sourcedir nextcloudurl
2014-03-20 15:35:24 +00:00
where ``sourcedir`` is the local directory and ``nextcloudurl`` is
2014-06-25 20:04:33 +00:00
the server URL.
2014-03-20 15:35:24 +00:00
Other command line switches supported by ``nextcloudcmd`` include the following:
2014-03-20 15:35:24 +00:00
``--path``
Overrides default remote root folder to a specific subfolder on the server(e.g.: /Documents would sync the Documents subfolder on the server)
2014-09-18 09:36:02 +00:00
``--user``, ``-u`` ``[user]``
Use ``user`` as the login name.
2014-03-20 15:35:24 +00:00
2014-09-18 09:36:02 +00:00
``--password``, ``-p`` ``[password]``
Use ``password`` as the password.
2014-03-20 15:35:24 +00:00
2014-09-18 09:36:02 +00:00
``-n``
Use ``netrc (5)`` for login.
2014-09-18 09:36:02 +00:00
``--non-interactive``
Do not prompt for questions.
2014-09-18 09:36:02 +00:00
``--silent``, ``--s``
Inhibits verbose log output.
2014-09-18 09:36:02 +00:00
``--trust``
Trust any SSL certificate, including invalid ones.
2014-09-18 09:36:02 +00:00
``--httpproxy http://[user@pass:]<server>:<port>``
Uses ``server`` as HTTP proxy.
2014-03-20 15:35:24 +00:00
``--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``
2017-11-25 10:03:36 +00:00
Sync hidden files, do not ignore them
2014-03-25 18:03:47 +00:00
Credential Handling
~~~~~~~~~~~~~~~~~~~
2014-03-20 15:35:24 +00:00
``nextcloudcmd`` requires the user to specify the username and password using the standard URL pattern, e.g.,
::
2014-03-20 15:35:24 +00:00
$ nextcloudcmd /home/user/my_sync_folder https://carla:secret@server/nextcloud
2014-03-25 18:03:47 +00:00
To synchronize the Nextcloud directory ``Music`` to the local directory
2014-09-18 09:36:02 +00:00
``media/music``, through a proxy listening on port ``8080``, and on a gateway
2014-06-25 20:04:33 +00:00
machine using IP address ``192.168.178.1``, the command line would be::
2014-03-25 18:03:47 +00:00
$ nextcloudcmd --httpproxy http://192.168.178.1:8080 --path /Music \
2014-03-25 18:03:47 +00:00
$HOME/media/music \
https://server/nextcloud
2014-03-25 18:03:47 +00:00
``nextcloudcmd`` will prompt for the user name and password, unless they have
2015-04-24 18:44:38 +00:00
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 --path /<Directory_that_has_been_created> /home/user/<my_sync_folder> \
https://<username>:<secret>@<server_address>