He estado tratando de entender este comportamiento de rsync, donde sigue listando directorios con diferentes marcas de tiempo y los mismos tamaños a pesar de proporcionar un --size-only
bandera.
# lists some directory without listing any changed files
> rsync -av [path 1] [path 2] --dry-run --size-only
> building file list ... done
> folder1/folder1a/
> folder1/folder1b/
# checks reasons with -i
# ...
> .d..t....folder1/folder1a/
> .d..t....folder1/folder1b/
Como puedes ver, --itemize-change
muestra que la única diferencia entre las carpetas de origen y destino es la marca de tiempo. Pero sigue apareciendo en mi ejecución regular de rsync a pesar de proporcionar --size-only
. ¿Hay alguna manera de arreglar esto? Parece que sigue modificando la carpeta de destino si la ejecutara, lo que provoca una recarga de la carpeta en mis servicios de copia de seguridad en la nube. Gracias.
EDITAR: La versión de rsync es 2.6.9. El origen es una carpeta con subcarpetas dentro de ella, y dentro de la cual hay archivos al azar. El destino es mi carpeta de OneDrive. Debería ser idéntica a la fuente, pero después de ejecutar rsync para transferir las carpetas, parece que OneDrive toca las carpetas y hace que el futuro rsync las vea como diferentes (y nada más manual está sucediendo cuando se ejecuta rsync). Eso no me importa, pero no quiero que rsync las siga actualizando cuando se ejecute en el futuro. De ahí que añada el --size-only
para ignorar las diferencias de fecha. Lo que estoy tratando de entender es por qué estos dir's siguen siendo listados, a pesar de que el cambio reportado por --itemize-change
es sólo la diferencia de la marca de tiempo ( .d..t....
)? Es que no quiero que se vuelvan a transferir cada vez que ejecute rsync simplemente porque tienen diferentes marcas de tiempo.
EDITAR 2: Al principio los subí a OneDrive (no con rsync), luego ejecuté rsync con --size-only
en la carpeta más tarde. Como resultado, el tiempo de modificación de los archivos de destino nunca se modifica. Mientras que --size-only
omite el archivo en sí, la carpeta se sigue viendo como "diferente". Así que creo que aunque la única diferencia en las carpetas en sí es la marca de tiempo ( .d..t....
), sigue actualizando la carpeta, ya que los archivos que hay dentro se perciben como diferentes (incluso con --size-only
). Una vez que rsync'd todo sin --size-only
una vez, el problema desapareció ya que el tiempo de mod de los archivos en el interior han cambiado.
Pero este comportamiento no es deseable, ya que la carpeta y los propios archivos son idénticos aparte de las marcas de tiempo, por lo que --size-only
debería ignorar la carpeta por completo. Sólo pretendo utilizar rsync para rellenar los archivos que faltan después de subirlos a OneDrive (web), y no rsync desde el principio (ya que a veces sincronizar los cambios de la unidad local con OneDrive es muy muy lento en comparación con la subida). ¿Hay alguna manera de evitar esto? ¿Cómo puedo evitar que rsync actualice directorios cuyo contenido es idéntico en tamaño?