¿Cuáles son las diferencias entre las opciones de eliminación de rsync?

Pregunta:

Veo en la página de manual de rsync que hay varias opciones de delete , pero realmente no entiendo las diferencias entre ellas. ¿Cuáles son las diferencias entre estas opciones?

 --del                   an alias for --delete-during
 --delete                delete extraneous files from dest dirs
 --delete-before         receiver deletes before transfer (default)
 --delete-during         receiver deletes during xfer, not before
 --delete-delay          find deletions during, delete after
 --delete-after          receiver deletes after transfer, not before
 --delete-excluded       also delete excluded files from dest dirs

Respuesta:

  • --del/--delete_during : Elimina archivos del directorio de destino a medida que se copian (ahorra memoria en comparación con --delete-before : --delete-before hace un escaneo por separado para buscar borrables)

  • --delete : elimina archivos en el directorio de destino si no existen en el directorio de origen.

  • --delete-before : Elimina archivos en el directorio de destino antes de copiar el archivo con el mismo nombre del directorio de origen

  • --delete-during : Elimina archivos en el directorio de destino MIENTRAS copia el archivo-con-mismo-nombre del directorio de origen

  • --delete-delay : Mark elimina durante la transferencia, pero espera hasta que se complete la transferencia

  • --delete-after : Receiver elimina después de la transferencia, no antes … Si alguna otra parte de rsync movió archivos adicionales a otro lugar, querría esto en lugar de --delete-delay , porque --delete-delay decide qué es va a eliminar en medio de la transferencia, mientras que --delete-after comprueba el directorio en busca de archivos que deban eliminarse DESPUÉS de que todo haya terminado.

  • --delete-excluded : elimina archivos del directorio de destino que están explícitamente excluidos de la transferencia desde el directorio de origen.

El objetivo de rsync no es copiar, es archivar. Esta es una distinción importante. El procesamiento de archivos eliminados / modificados es crítico y, en muchos casos, matizado.

La bandera --delete en particular es una que he visto arruinada muchas veces. Mucha gente usa rsync para mover archivos a un almacenamiento de baja prioridad y, en este caso, desea que los archivos que está moviendo aún EXISTEN en el directorio de destino. Eso no es lo que hace la eliminación: --delete se asegura de que, cuando elimina un archivo del directorio de origen, TAMBIÉN se elimina de su directorio de destino, para que su destino no se llene de basura … Una vez vio a un tipo limpiar sacar su copia de seguridad instalando una nueva unidad y no apagando su script rsync nocturno. Script vio que el directorio de origen ahora estaba vacío y eliminó 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. Cuando elimina los archivos es importante si desea asegurarse de que la transferencia sea exitosa antes de hacer cualquier cosa, pero si su dispositivo es demasiado pequeño para manejar 2 copias de toda la información, debe eliminar sobre la marcha, etc. un poco loco debido a su larga historia en múltiples plataformas: se han agregado algunas opciones para que las personas que estaban acostumbradas a cierto comportamiento no se confundan.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım