Porque tras intentarlo tropecientas veces en el día y recibir tropecientas negativas y fallos raros (como errores 500) ¿ por qué no seguir dale que te pego hasta que agotes el espacio en disco ?
Otra de esas cositas de las que ocuparme que me surgen así como así y por las que tengo que dejarlo todo y enfocarme en otra cosa. Es un asco pero no hacerlo implica que regularmente, más unos días que otros, debo vigilar que el espacio en disco no desaparezca y el resto del sistema deje de dar servicio.
Los archivos que fallan tienen características más o menos similares: son bastante grandes, superan los dos gigabytes, y tienen caracteres especiales en el nombre como paréntesis y símbolos ordinales, cosas así.
El cliente de escritorio es una versión antigua y no da mucha información sobre qué ha fallado (tengo que pensarme lo de compilarlo y construir los paquetes yo porque esto es cada vez más caótico) y cuando miro en el servidor, con el interfaz web, me dice que no hay registros, que todo va bien entonces en el servidor. ¿ Qué ? ¿ Y encima me sonríes, cabronazo? Si tengo el sistema de archivos al 95%.
Busco el registro plano que debería tener y mira por dónde lo encuentro con buena salud en el lugar equivocado. Es tan buena su salud que ocupa 87 Gb (ochenta y siete, sí) y sigue con el crecimiento normal. Y yo rotando otra cosa en otro directorio. Todo bien.
El problema con esta instalación de Nextcloud, la principal para uso propio, es que empezó siendo owncloud, migró a Nextcloud y he probado en ella todo tipo de aplicaciones y cosas cuquis que después no han servido de nada. Ah, y además activando y desactivando el cifrado de archivos a nivel de usuario, aspecto que tenía y tiene, varios claroscuros. En casa de herrero …
Así que para el futuro, cuando tenga tiempo, tendré que crear una instalación paralela para pruebas. De momento el lío que hay organizado es curioso. El error puede venir, y no en este orden, de: el servidor Nextcloud, el lenguaje PHP, el servidor Apache o incluso la base de datos MariaDB.
Como estoy más bien perdido y tengo muchas otras cosas que atender voy a hacer algunos ajustes rápidos para solventar el problema.
El primero es un trabajo diario que busque y borre los archivos y directorios con extensión .part que lleven más de un día sin actualizar.
#!/usr/bin/env bash
VERSION=0.1
SOURCE_DIR=/var/lib/owncloud/
if [ ! -d "$SOURCE_DIR" ]; then
echo "$0: no existe el directorio $SOURCE_DIR" >&2
exit 1
fi
# Las subidas en nextcloud parecen estar organizadas en ocasiones con
# carpetas aunque se trate de archivos individuales. # # Supongo que tendrá que ver con que esté cifrado o no el contenido.
# Localizamos primero archivos .part que no tengan
# acceso durante unos días para borrarlos primero
PARTIAL_FILES=$(tempfile --prefix=partial_files)
find $SOURCE_DIR -type f -a -name "*.part" -a -mtime +1 -print > $PARTIAL_FILES
if [ -s "$PARTIAL_FILES" ]; then
for archivo in $(cat $PARTIAL_FILES)
do
rm -f $archivo
done
echo "$0: borrados $(wc -l $PARTIAL_FILES) archivos"
fi
# Y ahora vamos a localizar primero los directorios para tener una lista
# que borrar cuidadosamente después
PARTIAL_DIRS=$(tempfile --prefix=partial_dirs)
find $SOURCE_DIR -type d -a -name "*.part" -print > $PARTIAL_DIRS
if [ -s "$PARTIAL_DIRS" ]; then
for directorio in $(cat $PARTIAL_DIRS)
do
if [ -z "$directorio" ]; then
rm -rf $directorio
fi
done
echo "$0: borrados $(wc -l $PARTIAL_DIRS) directorios"
fi
Lo segundo, ya que estoy, es desactivar todo el cifrado de archivos individuales. Como en realidad somos tres usuarios y conozco la contraseña de cada uno no hará falta perseguir a nadie para que me den la clave de descifrado.
$ sudo ncc encrypt:decrypt-all victor
Lo tercero asegurarme de que Nextcloud registra donde debe hacerlo. Según su configuración actual el archivo es /var/log/owncloud.log y tiene rotación al alcanzar 100 Mb. Sin embargo ese archivo está vacío y en su lugar emplea /var/lib/owncloud/nextcloud.log a un ritmo vertiginoso. Hay alguno más como un archivo de auditorías pero están donde no tienen que estar. Los moveré y añadiré rotación dentro del sistema.
La rotación es la siguiente:
/var/log/owncloud.log {
nocompress
missingok
weekly
rotate 4
su www-data www-data
create 0640 www-data www-data
size 10M
}
/var/lib/owncloud/nextcloud.log {
nocompress
missingok
weekly
rotate 4
su www-data www-data
create 0640 www-data www-data
size 10M
}
Importante emplear la directiva su o se tendrán todo tipo de problemas por los permisos de los directorios padre.
De momento tendrá que servir.
Referencias
- Ayuda de Nextcloud: