Este artículo explica cómo instalar y configurar el cliente de línea de comandos de Nextcloud en un servidor Debian sin entorno gráfico. Apunta a aquellas instalaciones donde es necesario subir o descargar archivos automáticamente desde un servidor a una carpeta compartida de Nextcloud.



Nextcloud cuenta con un cliente de línea de comandos (nextcloudcmd) provisto en Debian y derivados por el paquete nextcloud-desktop-cmd. Este utilitario permite sincronizar un directorio manualmente. Este cliente no detecta cambios ni sincroniza automáticamente, sino que lo hace a demanda. Es de especial utilidad para sincronizar directorios desde scripts Bash.

El primer paso consiste en crear un usuario de Nextcloud para el servidor donde será instalado el cliente. También es posible utilizar uno existente. Acceder a la interfaz Web del servidor Nextcloud desde un navegador. En la configuración de usuarios de Nextcloud, crear un usuario y clave para el cliente de línea de comandos.

Luego es posible conveniente con el nuevo usuario desde un navegador y subir algunos archivos a modo de prueba.

Como siempre, antes de instalar nuevos paquetes es conveniente actualizar el sistema:

# apt-get update && apt-get upgrade && apt-get dist-upgrade

Ya que el cliente depende de una gran cantidad de librerías de Qt y X11, antes de instalar el cliente es recomendable deshabilitar la instalación de paquetes sugeridos y recomendados en el servidor.

Instalar el cliente Nextcloud de línea de comandos:

# apt-get install nextcloud-desktop-cmd

Luego crear un directorio local para sincronizar con Nextcloud, por ejemplo /backups/nextcloud/pruebacmd:

# mkdir -p /backups/nextcloud
# cd /backups/nextcloud/

Para sincronizar los archivos del usuario en el directorio local creado en el paso anterior, ejecutar:

# nextcloudcmd -u 'pruebacmd' -p 'abc123' /backups/nextcloud/ https://nc.linuxito.com/

Los parámetros en el comando son el usuario, su contraseña, la ruta al directorio local y la URL de la instalación de Nextcloud (servidor).

Para que no se produzca salida (ideal para ejecutar desde scripts Bash) es posible agregar la opción -s (silent).

Luego de sincronizar, se observa que se han descargado los archivos del usuario:

root@debian:/backups/nextcloud# ll
total 27
drwxr-xr-x 3 root root     5 abr 27 10:03 .
drwxr-xr-x 5 root root     5 abr 27 09:47 ..
-rw-r--r-- 1 root root 21494 abr 27 09:44 prueba.pdf
drwxr-xr-x 2 root root     3 abr 27 09:57 test-dir
-rw-r--r-- 1 root root 90112 abr 27 10:03 ._sync_8585e05724ff.db

La documentación del cliente menciona que es posible sincronizar sólo un directorio remoto en particular. Sin embargo, de acuerdo a las pruebas realizadas, no arma bien la URL de webdav.

El archivo .db que se observa en el listado no es parte de los archivos del usuario, sino que es una base de datos SQLite que mantiene los cambios en archivos.

Por último, se debe tener en cuenta que la sincronización es en ambos sentidos, todos los cambios realizados en la copia local serán subidos al servidor y viceversa.

Referencias


Tal vez pueda interesarte


Compartí este artículo