Inicio
» Cómo
»
Elimine de forma segura las versiones de archivos de ownCloud con el comando occ.
Elimine de forma segura las versiones de archivos de ownCloud con el comando occ.
Para ownCloud Server Classic , el comando de administrador para eliminar versiones de archivos guardadas es occ versions:cleanup. Agregue uno o más ID de usuario para limitar la eliminación; omita los ID de usuario solo si desea eliminar el historial de versiones de todos los usuarios. Esta acción es destructiva, por lo que primero debe realizar una copia de seguridad de la base de datos y el almacenamiento de archivos de ownCloud.
Ejemplo hipotético: Alex administra un servidor ownCloud clásico y necesita eliminar las revisiones antiguas de una cuenta de prueba retirada demo_user. Este ejemplo ficticio muestra el comando en cuestión y lo compara con una limpieza general del servidor; no describe una ejecución ni un resultado reales.
1. Confirme la edición de ownCloud y el destino.
Los pasos que se describen a continuación utilizan occla interfaz de línea de comandos documentada para ownCloud Server 10.16. No se aplican a ownCloud Infinite Scale (oCIS), que utiliza un conjunto de comandos diferente. Si no está seguro de qué producto está instalado, consulte con el administrador antes de ejecutar la limpieza.
En una instalación estándar de Linux, cambie al directorio de instalación de ownCloud. La siguiente ruta es un ejemplo para Ubuntu; utilice su ruta real:
cd /var/www/owncloud
Comprueba que la aplicación Versions esté habilitada y verifica el ID de la cuenta a la que deseas dirigirte:
Compruebe que la files_versionsaplicación esté habilitada antes de usar su comando de limpieza.
La documentación de ownCloud indica que los comandos de versión solo están disponibles cuando files_versionsestá habilitado y no están disponibles en el modo de mantenimiento de un solo usuario. Ejecútelo occcomo el usuario HTTP del servidor web para que los permisos de archivo se mantengan consistentes. En Debian o Ubuntu, este suele ser www-data; otras distribuciones pueden usar una cuenta diferente. Consulte la documentación del comando occ de ownCloud .
2. Retrocede y elige el alcance.
Antes de borrar el historial, realiza una copia de seguridad siguiendo tu procedimiento habitual de ownCloud. Incluye la base de datos y la ubicación de almacenamiento donde se guardan los archivos y versiones de los usuarios. Confirma que la copia de seguridad se haya completado y se pueda restaurar; una copia que solo contenga la base de datos podría no incluir los archivos de versión.
En el caso hipotético de Alex, el alcance previsto es solo demo_user. El ID de usuario debe coincidir con la cuenta en este servidor. No sustituya una dirección de correo electrónico, un nombre para mostrar ni un usuario diferente, ya que el comando acepta ID de usuario. Confirme el identificador de la cuenta en la administración de usuarios de ownCloud antes de ejecutar el comando, especialmente si los nombres en un servicio de directorio difieren del ID de inicio de sesión.
Si el objetivo es eliminar todas las versiones antiguas de esta cuenta, utilice este comando versions:cleanup. No existe una opción de prueba documentada para este comando, así que revise el destino y haga una copia de seguridad antes de ejecutarlo. No ponga el servidor en modo de mantenimiento de usuario único para esta operación: ownCloud indica que los comandos Versions no están disponibles en ese modo.
3. Ejecuta una limpieza dirigida o selecciona deliberadamente a todos los usuarios.
Para una instalación normal de Linux, ejecute el comando desde el directorio ownCloud como usuario HTTP. En Debian o Ubuntu, Alex ejecutaría:
sudo -u www-data ./occ versions:cleanup demo_user
Agregar demo_userlímites limita la limpieza a esa cuenta de ownCloud.
En la sintaxis documentada, versions:cleanup [user_id]...acepta uno o más ID de cuenta. Si no se proporciona ningún ID, elimina los archivos versionados para todos los usuarios. Utilice la forma global solo después de aprobar explícitamente ese ámbito:
sudo -u www-data ./occ versions:cleanup
Si se omite el ID de usuario, se seleccionarán todos los usuarios, así que confirme que el alcance es a nivel de servidor antes de continuar.
El ejemplo de ownCloud muestra el comando que identifica a todos los usuarios para su eliminación cuando no se proporciona un ID; al proporcionar los ID, la operación se limita a esas cuentas. El manual también señala que las versiones principales persistentes publicadas pueden ser eliminadas por un administrador con este comando, aunque las políticas de retención normales no las hagan expirar. Consulte con los propietarios del contenido antes de purgar cuentas que puedan contener revisiones aprobadas o publicadas. No agregue --no-interactionpara omitir las solicitudes. Para una instalación de contenedor, el patrón documentado es docker exec --user www-data <owncloud-container-name> occ <your-command>; reemplace el marcador de posición con el nombre real del contenedor y el comando que seleccionó. Consulte las instrucciones de Docker y occ si su implementación utiliza un usuario de contenedor diferente.
4. Utilice la caducidad solo cuando el objetivo sean las reglas de retención.
Si Alex quisiera que ownCloud eliminara solo las versiones que han caducado según la política de retención configurada, el comando más apropiado sería:
sudo -u www-data ./occ versions:expire demo_user
versions:expireAplica las reglas de retención configuradas; no garantiza la eliminación de todas las versiones guardadas.
La documentación de ownCloud define versions:expireque solo se eliminan las versiones que han caducado según versions_retention_obligation. Por el contrario, versions:cleanupelimina todas las versiones dentro de su ámbito seleccionado. Revise la configuración de retención de versiones documentada antes de cambiar la política. La configuración disableddesactiva la eliminación de versiones; no elimina las versiones ya almacenadas.
Este artículo trata sobre ownCloud Server Classic. Infinite Scale tiene sus propios comandos de limpieza de revisiones; en lugar de ejecutarlos allí, siga la documentación de limpieza de revisiones de oCIS .occ
Verificar el resultado
Una vez que el comando se complete sin errores, abra la vista Versiones de un archivo propiedad de la cuenta de destino. Confirme que las revisiones anteriores ya no aparecen y que el archivo actual sigue presente. Para una limpieza general de todos los usuarios, revise las cuentas representativas en lugar de asumir que el comando se ejecutó globalmente. Conserve la copia de seguridad hasta que el propietario confirme que ya no se necesita ninguna versión anterior. Si su objetivo era únicamente cumplir con un calendario de retención, utilice versions:expirey verifique dicha política en lugar de esperar una eliminación completa inmediata.
Este comando es específico para versiones de archivos. No borra los elementos de la papelera de Archivos eliminados, ni elimina los archivos de copia de seguridad, ni borra los archivos actuales. Estas tareas deben considerarse como tareas de retención de datos independientes; no elimine manualmente el directorio de versiones para sustituir el comando documentado.