Estoy tomando clases con mucho análisis fonético y gramatical. Me han dado una cuenta en una red de Windows 10. Como me siento mucho más cómodo con Mac y Linux (y como el horario de disponibilidad de Windows es limitado), hago mi trabajo en mi computadora portátil Mac.
Monté automáticamente mis directorios NTFS, pero hay algo raro con su LAN, por lo que muy a menudo algunas aplicaciones tienen acceso de solo lectura o ningún acceso.
En consecuencia, trabajo en una copia local y con frecuenciasincronizacióncambios. Pero rsync* siempre actualiza cada directorio NTFS: solo el directorio, nunca ningún archivo (excepto aquellos que realmente cambié). Nunca he navegado en la mayoría de esos directorios, todavíasincronizacióninforma actualizaciones en todo el árbol de subdirectorios. No es importante (termina en segundos), pero sigue siendo bastante extraño.
¿Qué hacen Windows y NTFS con los directorios a los que nunca se accede que hace que rsync piense que han cambiado?
Respuesta1
Permitir la comparación de tiempos de modificación con precisión reducida.
Aparece en este tipo de configuración donde monta en una partición NTFS y desea asegurarse de utilizar los parámetros apropiados, como --modify-window=5
aumentar el valor predeterminado para permitir la comparación de tiempos de modificación con precisión reducida.
--modify-window When comparing two timestamps, rsync treats the timestamps as being equal if they differ by no more than the modify-window value. This is normally 0 (for an exact match), but you may find it useful to set this to a larger value in some situations. In particular, when transferring to or from an MS Windows FAT filesystem (which represents times with a 2-second resolution), --modify-window=1 is useful (allowing times to differ by up to 1 second).
Recursos adicionales
Respuesta2
Primero en responder al problema de solo lectura del programa. Dado que el recurso compartido de red está controlado por Windows, Windows solo permite que ciertos usuarios tengan privilegios para hacer cosas. Podría ser un recurso compartido público, es decir, cualquiera puede verlo para descargar archivos, etc., pero no cambiarlo a menos que se agregue específicamente para poder hacerlo. Ya que estás usando Mac, que es similar a Linux. No todas las aplicaciones de Linux que está utilizando utilizan el mismo nombre de usuario con el que ha iniciado sesión actualmente en su Mac o Linux. Por lo tanto, dado que el programa no utiliza su nombre de usuario registrado, no tiene privilegios para editar los archivos según Windows, ya que el nombre de usuario no coincide.
En segundo lugar, Rsync es recursivo. Es decir, revisará todos los directorios. A menos que lo limite a un directorio específico, pero incluso si lo limita a 1 directorio, seguirá revisando todos los directorios que están en el directorio desde el que comenzó. Esto es para lo que está diseñado. De ahí que se llame sincronización recursiva. Ahora bien, el motivo de la actualización de los directorios y no de los archivos podría ser cómo rysnc obtiene la marca de tiempo de los directorios. Podría ser que debido a que sus directorios de Windows 10 no tienen una marca de tiempo modificada o accedida, solo una marca de tiempo de cuando se creó el directorio, mientras que los archivos tienen todas estas marcas de tiempo, que es lo que usa rsync para determinar si necesita actualizar directorios o archivos.