-
--del/--delete_during
: Elimina los archivos del directorio de destino a medida que se copian (ahorra memoria en comparación con --delete-before
: --delete-before
hace un escaneo separado para buscar los elementos que se pueden borrar)
-
--delete
: Elimina los archivos en el directorio de destino si no existen en el directorio de origen.
-
--delete-before
: Elimina los archivos del directorio de destino antes de copiar el archivo con el mismo nombre del directorio de origen
-
--delete-during
: Borrar archivos en el directorio de destino MIENTRAS se copian archivos con el mismo nombre del directorio de origen
-
--delete-delay
: Marcar los borrados durante la transferencia, pero esperar a que ésta se complete
-
--delete-after
: El receptor borra después de la transferencia, no antes... Si alguna otra parte del rsync moviera archivos adicionales a otro lugar, querrías esto en lugar de --delete-delay
porque --delete-delay
decide lo que va a borrar en medio de la transferencia, mientras que --delete-after
comprueba el directorio en busca de archivos que deban ser eliminados DESPUÉS de que todo haya terminado.
-
--delete-excluded
: Elimina los archivos del directorio de destino que están explícitamente excluidos de la transferencia del directorio de origen.
El objetivo de rsync no es copiar, es archivar. Esta es una distinción importante. El procesamiento de archivos borrados/modificados es crítico, y en muchos casos matizado.
El --delete
La flag en particular es una que he visto estropear muchas veces. Mucha gente utiliza rsync para mover archivos a un almacenamiento de baja prioridad, y en este caso quieres que los archivos que estás moviendo todavía EXISTAN en el directorio de destino. Eso no es lo que hace delete: --delete
se asegura de que, cuando se elimina un archivo del directorio de origen, también se elimina del directorio de destino, para que el destino no se llene de basura... Una vez vi a un tipo borrar su copia de seguridad por poner un nuevo disco, y no apagar su rsync nocturno script. script vio que el directorio de origen estaba vacío, y borró todos los archivos del directorio de destino, para que coincidieran.
La mayoría de las otras opciones están relacionadas con el espacio o el rendimiento. El momento en el que se borran los archivos es importante si quieres asegurarte de que la transferencia se realiza correctamente antes de hacer nada, pero si tu dispositivo es demasiado pequeño para manejar 2 copias de toda la información, tienes que borrar sobre la marcha, etc. Es un poco extraño debido a su larga historia en múltiples plataformas: se han añadido algunas opciones para que la gente que estaba acostumbrada a ciertos comportamientos no se confundiera.