Nextcloud: Fichero bloqueado, como desbloquearlo
2018-12-31
Índice
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 ocfilelocks, 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. 🐧