19 votos

¿Se puede observar el progreso de la sincronización de iCloud?

Tengo mi Mac ejecutando OS X 10.8 configurado para poder ver el contenido de su repositorio iCloud en ~/Library/Mobile Documents (ver esta pregunta y esta pregunta para más información sobre cómo funciona). Sin embargo, me gustaría ser capaz de ver / visualizar / entender el estado de sincronización de mi Mac:

  • ¿Mi Mac está sincronizado con iCloud?
  • Si no, lo que se está subiendo / descargado / ¿cuánto tiempo tomará?
  • ¿Hay alguna utilidad o características incorporadas de OS X que me permitirán ver algo de esto?

Estas son preguntas válidas incluso sin que iCloud se exponga explícitamente en el sistema de archivos, pero obviamente son más útiles si se copian grandes cantidades de archivos dentro/fuera del repositorio de iCloud explícitamente.

5voto

Steve Evans Puntos 155

No hay herramientas incorporadas en OS X diseñadas explícitamente para mostrarte la información de sincronización de iCloud.

A partir de OS X 10.8.2, Apple no ha hecho pública esta información. A menos que Apple publique las interfaces de programación de aplicaciones (API) de OS X para proporcionar la información que buscas, ningún tercero podrá proporcionar con precisión los detalles de la sincronización.

Dado esto, por favor dar la opinión del equipo de iCloud de Apple deja que los ingenieros de Apple sepan lo que quieres y por qué.

Mientras esperas, puedes rastrear las conexiones a los servidores iCloud de Apple, medir el flujo de tráfico y el acceso al disco. Estas métricas proporcionarán alguna información, pero no proporcionarán las duraciones esperadas o el porcentaje de medidas completas.

Para explorar el flujo de datos, exploren las herramientas incorporadas en el OS X como lsof y netstat .

2 votos

Gracias por la respuesta. Había adivinado que este podría ser el caso, pero esperaba que alguien más hubiera hecho ingeniería inversa del flujo de tráfico, construido una herramienta, etc.

3voto

Tim Puntos 11

Actividad

El siguiente comando, ejecutado mientras se trabaja con iCloud con aplicaciones (como Smultron 4 y TextEdit) que soportan Documentos Móviles -

sudo opensnoop -n ubd

- muestra los archivos locales abiertos por el demonio de la ubicuidad. Los archivos incluyen bases de datos, una base de datos por cada par. Un directorio por par en la siguiente ruta:

~/Library/Application Support/Ubiquity

Tipos de datos

Si desea medir el progreso, decida qué tipos medir:

  • Datos básicos
  • documentos
  • llave-valor.

Ahorro, progreso y medición

Datos básicos

Los archivos de registro de cambios, no el archivo de la tienda, se suben a iCloud y descargado a cada uno de los otros dispositivos de un usuario. Cuando un registro de cambios llega desde otro dispositivo conectado a la misma cuenta de iCloud, el Core Data actualiza la copia local de la base de datos de SQLite de su aplicación, basada en el registro de cambios recibidos. iCloud y Core Data aseguran que cada local La base de datos se actualiza con el mismo conjunto de cambios. …

Considere: sin interpretar la contenido de un registro de cambios, ¿merecerá la pena medir el progreso de la carga del archivo de registro?

Documentos

En la biblioteca de desarrollo de Mac:

Las aplicaciones basadas en documentos pueden adoptar el auto-guardado en su lugar, y sus documentos se guardan automáticamente en los momentos apropiados

También:

Las estrategias de almacenamiento automático de datos alivian al usuario

puntos apropiados en su código donde cualquier cambio relacionado con el usuario debe ser guardado y escribir esos cambios en el disco automáticamente. …

Algunos momentos apropiados en los que se pueden guardar los datos del usuario automáticamente incluyen lo siguiente:

  • Cuando el usuario cierra la ventana de la aplicación o sale de la aplicación (applicationWillTerminate:)
  • Cuando la aplicación se desactiva (applicationWillResignActive:)
  • Cuando el usuario oculta su aplicación (applicationWillHide:)
  • Cada vez que el usuario hace un cambio válido en los datos de su aplicación

El último elemento significa que tienes la libertad de guardar los datos del usuario en cualquier momento que tenga sentido hacerlo. Por ejemplo, si el usuario es al editar los campos de un registro de datos, puede guardar cada valor de campo como o puede esperar y guardar todos los campos cuando el usuario muestre un nuevo récord. Hacer este tipo de cambios incrementales asegura que los datos están siempre actualizados pero también requieren una mayor precisión la gestión de su modelo de datos. …

Considere: esos ahorros pueden ser tan frecuentes, y las cantidades tan pequeñas, que la medición no valdrá la pena.

item-info.db

Jugué con Navegador de la base de datos SQLite para navegar por el item-info.db base de datos para el compañero que parece ser mi Mac local. Como sospechaba, la aplicación sólo podía navegar mientras el sistema no usaba la base de datos - a los dos segundos de usar la vista previa para editar un Untitled.png en iCloud, ya no podía navegar por la base de datos y así sucesivamente.

Referencias

Guía de diseño de iCloud

Guía de programación de la Mac App : El diseño del núcleo de la aplicación:

0 votos

Está muy bien, gracias. El comando que das no produce una salida particularmente fácil de usar (y no aborda realmente el estado insync/out-of-sync, el estado de carga/descarga, etc.), pero está más cerca que cualquier otra cosa hasta ahora.

0 votos

Gracias - en teoría podríamos hacer más con comandos basados en DTrace como iosnoop pero no todas las cosas relacionadas con DTrace funcionan perfectamente en OS X. Yo también tengo curiosidad por las cosas que no están cubiertas por esta respuesta.

1voto

Matt Puntos 108

Si realmente quieres ver lo que está pasando, puedes usar tcpdump (/usr/sbin/tcpdump), que hace la captura de paquetes. Te mostrará los paquetes a medida que vayan pasando por la red. No es el más fácil, pero es la forma más completa de ver estos datos.

0 votos

¿Alguna idea de qué puertos hay que mirar? Supongo que al menos 80, 443 y 5223. Para incluir el correo electrónico, añada 25, 587 y 993.

1voto

biffom Puntos 1

Ejecutar lo siguiente en la Terminal parece funcionar para mí:

lsof | grep "Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache"

El comando lsof resulta en esto:

cloudd    11237 carl   10r     REG                1,4   3009775 1460206 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/AYX/cplAYX8CMwjKIhIUqNRCwXobzKHe9iC.jpeg
cloudd    11237 carl   21r     REG                1,4   2465075 1460208 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/ATL/cplATLqV8CAvtA70qoJqZ21PimnEIPe.jpeg

sólo tienes que emitirlo de nuevo (flecha hacia arriba y pulsar "return") y deberías verlo cambiar.

0 votos

¿Dónde está ejecutando este comando? ¿Qué aspecto tiene la salida?

0 votos

Desde la terminal.

1 votos

No es necesario cd ~/Pictures. no se sabe por qué patrix editó eso?

1voto

Ben Flynn Puntos 145

A partir de OS X 10.11 (si no es 10.10), si tienes alguna subcarpeta de tu unidad iCloud abierta en el Finder mientras cambias archivos en iCloud, y la barra de estado de esa ventana está activada, el Finder te dirá cuántos archivos se están sincronizando y cuántos datos se han transferido hasta ahora.

0 votos

En OSX 10.13.6 no veo esa información en la barra de estado. Sí veo un pequeño círculo junto al icono de iCloud del finder en la barra lateral. Puedo hacer clic en eso para obtener alguna información sobre los datos que se transfieren.

0 votos

Ver captura de pantalla -- la barra de estado (-/ para mostrar) que corre a lo largo de la parte inferior de la ventana debería mostrar el progreso de la sincronización con iCloud, siempre y cuando estés en cualquier ventana del Finder que esté dentro de la jerarquía de tu carpeta de iCloud Drive.

0 votos

Parece que las imágenes no se incrustan en los comentarios, pero ver i.imgur.com/deKecx9.png

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X