1 votos

¿Cómo extraigo y combino mensajes de las copias de seguridad de Time Machine de ~/Library/Messages?

Tengo muchas copias de seguridad que contienen versiones de ~/Library/Messages . Cada uno contiene 3 archivos y un directorio similar a este:

    XYZ:Messages user$ tree -a -L 1
    .
     Attachments
     chat.db
     chat.db-shm
     chat.db-wal

    1 directory, 3 files

Algunas de estas copias de seguridad pueden solaparse entre sí. El resultado son entre 10 y 20 carpetas de mensajes sin una forma obvia de acceder a ellas. Me gustaría unificarlas todas y eliminar los duplicados si existen.

¿Existe alguna aplicación que haga esto o algún tipo de tutorial que pueda seguir? Los archivos son sqlite así que incluso una especificación de la estructura de la base de datos sería útil.

1voto

Douglas Puntos 10417

Algunas de estas copias de seguridad pueden solaparse entre sí. El resultado son 10-20 carpetas de mensajes sin una forma obvia de acceder a ellos. Me gustaría unificarlos todos y eliminar los duplicados si existen.

Sí, va a tener muchos, muchos duplicados. Este es el comportamiento esperado dada la forma en que funcionan las copias de seguridad.

Time Machine hace un incremental copia de seguridad lo que significa que sólo hace copias de seguridad de lo que ha cambiado desde la última copia de seguridad incremental. Tus chats se guardan en un único archivo de base de datos (al que haces referencia en tu pregunta), por lo que cada vez que chateas con alguien, esa base de datos se actualiza y, en última instancia, se hace una copia de seguridad cada vez que se ejecuta Time Machine.

¿Hay alguna aplicación que haga esto o algún tipo de tutorial que pueda seguir? que pueda seguir?

No. Sólo tienes que ir a la copia de seguridad más reciente; todos los archivos de chat estarán allí.

Los archivos son sqlite por lo que incluso una especificación de la estructura de la base de datos sería útil.

Son sqlite3 . Si desea obtener la estructura de la base de datos, puede utilizar los siguientes comandos en Terminal:

$ sqlite3 chat.db

sqlite> .schema                            # prints out the database schema
sqlite> .tables                            # lists the database tables
sqlite> PRAGMA table_info(tablename);      # lists the columns of a particular table   
sqlite> select text from message;         # raw output of all text messages

0 votos

@user3439894 - sí... fue un error tipográfico.

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