¿Cómo puedo mover archivos con rsync? ¿Cómo puedo recoger archivos con rsync y borrarlos en el origen al finalizar?
En ocasiones necesitamos realizar Backups, pero una vez comparados y transferidos queremos que se eliminen los archivos de origen.
Estos casos serían más bien backups de «Archivo» definitivo, donde queremos eliminar archivos, pero también mantener copias por algún motivo (legal, por ejemplo).
O simplemente queremos transferir una serie de archivos de una localización a otra.
Por supuesto, en ningún caso los archivos de la ruta de destino son eliminados.
Explicamos cómo hacerlo con «rsync».
Si lo que necesitas es crear backups sincronizados con rsync, puedes visitar nuestra entrada que explica cómo realizar Backups con rsync.
Objetivo
Queremos utilizar rsync para sincronizar archivos y una vez realizada la copia queremos que los archivos de origen se eliminen.
Los archivos copiados en el lugar de destino no serán eliminados por rsync.
De forma abreviada, queremos archivar o mover archivos con rsync.
Ejemplo local
En este ejemplo usamos dos rutas locales.
Pueden ser montajes de unidades locales o de unidades de red (smbfs/cifs, nfs, sshfs, …), en cualquier caso no cambia la forma de manejar rsync.
En este ejemplo se va a copiar desde «/opt/service/reports» hasta «/mnt/backupUnit/legacyreports» y una vez copiado correctamente se eliminarán los archivos de «/opt/service/reports».
rsync -rtvlpgou \ --stats \ --remove-source-files \ --log-file=/mnt/backupUnit/reportbackup.log \ /opt/service/reports \ /mnt/backupUnit/legacyreports
Modifica la sentencia según tus necesidades, sobre todo origen, destino y log si quieres que se genere un log.
Puedes ver en el apartado «opciones de rsync» al final de esta entrada la explicación de los diferentes modificadores de «rsync».
Otros ejemplos
Si necesitas mover archivos con «rsync», pero necesitas hacerlo de una máquina remota, puedes utilizar los ejemplos expuestos en la entrada Backup con rsync. Combina los ejemplos expuestos para adaptarlos a tus necesidades.
Si necesitas algún consejo, no dudes en utilizar los comentarios.
Opciones de rsync
Vemos algunos de los modificadores clave utilizados para mover archivos con rsync.
El resto, si lo deseas, puedes revisarlos en la entrada Backup con rsync.
-u
Este flag fuerza a rsync a ignorar cualquier archivo que exista en el destino y tenga una fecha de modificación más reciente que el archivo del origen.
Si la fecha de modificación es la misma, actualizará el archivo si tiene diferente tamaño.
–remove-source-files
Gracias a este flag, rsync eliminará los archivos una vez hayan sido transferidos satisfactoriamente.
Para más información puedes consultar la página del manual de rsync:
man rsync
O consultar la salida de:
rsync --help