Saltar al contenido principal
Version: 2.0

Mover

Mover documentos y archivos

Los documentos y archivos pueden trasladarse de un storage a otro mediante comandos administrativos. Esto es útil para migrar contenido a un nuevo repositorio o para reorganizar el almacenamiento entre repositorios.

Ejemplo: Se tienen 500 documentos almacenados en un servidor Nuxeo y se quiere migrarlos a un bucket S3. Con el comando documentos:mover se preparan los lotes automáticamente y un worker se encarga de ejecutar los movimientos de forma asíncrona.

Los comandos documentos:mover y archivos:mover reciben como parámetros el storage de origen y el de destino, y preparan los lotes correspondientes persistiéndolos en la base de datos.

Luego, el dispatcher procesa dichos lotes y los encola en Redis. Finalmente, worker:lotes ejecuta el movimiento efectivo entre los distintos storages. Este comando puede ejecutarse de forma completa —moviendo los archivos y eliminando los binarios del storage origen— o limitarse a una etapa específica mediante el parámetro --modo: con --modo=mover solo realiza el movimiento sin eliminar el origen, y con --modo=limpiar solo elimina los binarios ya movidos.

Comandos

Para mover documentos y archivos entre storages se dispone de los siguientes comandos:

ComandoDescripción
documentos:moverPrepara los lotes para mover documentos entre storages
archivos:moverPrepara los lotes para mover archivos entre storages
dispatcherEncola en Redis los lotes pendientes para que el worker los procese
worker:lotesEjecuta los movimientos encolados

documentos:mover

./bin/docs documentos:mover --storage_origen=1 --storage_destino=2

Prepara los lotes para mover todos los documentos del storage de origen al storage de destino. Antes de proceder, solicita confirmación mostrando la cantidad de documentos a mover. Para omitir la confirmación usar -n. El storage de destino debe estar activo para poder ejecutar el comando.

archivos:mover

./bin/docs archivos:mover --storage_origen=1 --storage_destino=2

Idéntico al comando anterior pero para archivos.

Los IDs de los storages se obtienen con el comando storages:listar.

worker:lotes

./bin/docs worker:lotes
./bin/docs worker:lotes --modo=mover
./bin/docs worker:lotes --modo=limpiar

Procesa los lotes generados por los comandos de movimiento. El parámetro --modo permite controlar qué parte del proceso se ejecuta:

ModoDescripción
(sin parámetro)Mueve los archivos y elimina los binarios del storage origen
moverSolo realiza el movimiento, sin eliminar el origen
limpiarSolo elimina los binarios del storage origen ya movidos