Blog personal donde guardo mis notas sobre tecnología

Nextcloud: Fichero bloqueado, como desbloquearlo

Carlos M.

En más de una ocasión Nextcloud me ha producido un error al intentar sincronizar un fichero, lo bloquea e impide su sincronización, incluso aunque borre dicho fichero el error persiste, da igual desde donde lo borre, en la parte del cliente o el servidor, el fichero se queda bloqueado.

La única solución que encontré fue borrar directamente en la base de datos de Nextcloud las entradas de los fichero marcados como bloqueados.

Modo mantenimiento #

Actualmente uso un docker de Nextloud, por lo que necesito entrar en la shell del contenedor para poder editar el fichero de configuración y poner Nextcloud en modo Mantenimiento

docker exec -it nextcloud bash
nano -wc /config/www/nextcloud/config/config.php

Cambiamos la linea a 'maintenance' => true,

nextcloud es el nombre del contenedor

Editando la base de datos #

También utilizo un contenedor de MariaDB como base de datos de Nextcloud, así que para acceder a la shell para conectarme a la base de datos.c

docker exec -it nextclouddb bash

nextclouddb es el nombre del contenedor de MariaDB

root@OMV1:/ mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8737
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Borramos el contenido de la tabla oc_file_locks, puedes usar alguna herramienta tipo phpmyadmin o también puedes conectar directamente a la base de datos y ejecutar el comando DELETE FROM oc_file_locks WHERE 1


MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nextcloud          |
| performance_schema |
+--------------------+
4 rows in set (0.05 sec)

MariaDB [(none)]> use nextcloud;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [nextcloud]>

MariaDB [nextcloud]> DELETE FROM oc_file_locks WHERE 1;
Query OK, 275 rows affected (0.18 sec)

MariaDB [nextcloud]> DELETE FROM oc_file_locks WHERE 1;
Query OK, 275 rows affected (0.18 sec)

root@OMV1:/ exit
exit

Desactivar modo mantenimiento #

Una vez vaciada la tabla con la lista de ficheros bloqueados tenemos que desactivar el modo mantenimiento

docker exec -it nextcloud bash
root@OMV1:/$ nano -wc /config/www/nextcloud/config/config.php

Desactivamos el modo mantenimiento deshaciendo el primer paso 'maintenance' => false

Ahora podemos sincronizar los ficheros sin problemas

Espero que te haya gustado, pasa un buen día. 🐧

Referencia: #