Normalmente, rsyncomite archivos cuando los archivos tienen tamaños y tiempos idénticos en los lados de origen y destino. Esta es una heurística que generalmente es una buena idea, ya que evita rsynctener que examinar el contenido de los archivos que probablemente sean idénticos en los lados de origen y destino.
--ignore-timesle indica rsyncque desactive la heurística de tiempos y tamaños de archivo y, por lo tanto, transfiera incondicionalmente TODOS los archivos del origen al destino. rsyncluego procederá a leer cada archivo en el lado de origen, ya que necesitará usar su algoritmo de transferencia delta, o simplemente enviar cada archivo en su totalidad, dependiendo de si --whole-filese especificó la opción.
--checksumtambién modifica la heurística de tiempos y tamaños de archivo, pero aquí ignora los tiempos y examina solo los tamaños. Los archivos en los lados de origen y destino que difieren en tamaño se transfieren, ya que obviamente son diferentes. Los archivos con el mismo tamaño tienen una suma de verificación (con MD5 en la rsyncversión 3.0.0+, o con MD4 en versiones anteriores), y los que tienen sumas diferentes también se transfieren.
En los casos en que los lados de origen y destino son en su mayoría iguales, la --checksummayoría de los archivos se sumará a ambos lados. Esto podría llevar mucho tiempo, pero el resultado es que el mínimo mínimo de datos se transferirá realmente a través del cable, especialmente si se utiliza el algoritmo de transferencia delta. Por supuesto, esto es solo una victoria si tiene redes muy lentas y / o CPU muy rápida.
--ignore-times, por otro lado, enviará más datos a través de la red y hará que se lean todos los archivos de origen, pero al menos no impondrá la carga adicional de calcular muchos hashsums criptográficamente fuertes en las CPU de origen y destino. Esperaría que esta opción funcione mejor que --checksumcuando sus redes son rápidas y / o su CPU relativamente lenta.
Creo que solo lo usaría --checksumo --ignore-timessi estuviera transfiriendo archivos a un destino donde se sospechaba que el contenido de algunos archivos estaba dañado, pero cuyos tiempos de modificación no cambiaron. Realmente no puedo pensar en ninguna otra buena razón para usar cualquiera de las opciones, aunque probablemente haya otros casos de uso.
--checksumútil junto con--itemize-changespara verificar las copias de seguridad. De vez en cuando, mis scripts de respaldo ejecutan una comparación completa de esta manera después de que se completan las actualizaciones diarias / semanales actuales. Recibo un correo electrónico marcado como urgente si--itemize-changesmuestra algo inesperado, así que sé que hay un problema potencial que debería investigar.