¿Cómo gestionar tener mi biblioteca de música sincronizada en varios dispositivos?

1

Tengo varios dispositivos (servidor, torre, notebook, teléfono android). Quiero tener mi biblioteca de música sincronizada en todos ellos.
Entonces, lo que pensé fue un sistema de control de revisión que solo se encarga de las acciones de CRUD (o más bien de CRD). Tal vez podría hacer un seguimiento de los archivos usando su nombre inicial y rastrear cualquier cambio de nombre o eliminación.

Todo el software popular que conozco (git, svn, cvs, ...) está fuera de cuestión porque ahorran demasiados gastos (difieren en los archivos binarios).
La transmisión tampoco funciona para mí porque no siempre tengo una conexión a Internet.
Sincronizar la música usando herramientas como el unison es muy ineficiente también porque escribo metadatos en los archivos, por lo que su hashsum, marca de tiempo y tamaño cambian constantemente. Si hay una herramienta de sincronización o de sincronización que ignora cambios menores en el tamaño e ignora la marca de tiempo y los permisos, etc., quizás esté bien, pero no conozco una.

Cualquier otra solución creativa y ingeniosa es bienvenida.

dAnjou
fuente

Respuestas:

1

Puede configurar rsync para hacer cosas como ignorar archivos que ya existen, lo que evitará que algunas de las actualizaciones de metadatos dejen de funcionar. Sin embargo, sus preocupaciones acerca de eso son probablemente exageradas. Si solo se ha modificado una pequeña parte del archivo, solo esa parte se actualizará; el algoritmo rsync del núcleo descubrirá que la mayor parte es el mismo. Tendrá que pagar algunos costos adicionales por leer los archivos a lo largo del camino, pero tal vez podría usar "--ignore-existencia" la mayor parte del tiempo, y solo hacer la forma más larga de sincronización que trata de ordenar todos los cambios con menos frecuencia.

Escribi un articulo llamado Empezando con rsync, para los paranoicos. que trata de explicar algunas de las partes crípticas de cómo decide lo que va a hacer. Aquí hay un montón de opciones, y la única que has visto que desea que no proporcione es la capacidad de establecer un umbral para una gran diferencia de tamaño para activar un conjunto diferente de reglas. Me parece que esto sucedería raramente, por lo que podría planificar una de estas sesiones de sincronización más largas periódicamente para cuidarlo.

También mantengo algunos datos como este en git. No estoy seguro de por qué estás tan preocupado por el hecho de que almacena diferencias binarias. Debería poder eliminar la información antigua de su repositorio y luego compactarla periódicamente si le preocupa esa sobrecarga. git es bueno para lidiar con el problema de cambio de nombre para evitar que se vuelva demasiado malo: si simplemente mueve algo de un lugar a otro o cambia su nombre, si es realmente el mismo archivo git lo resolverá y no guardará una nueva copia eso.

Greg Smith
fuente
0

Copiar, actualizar y eliminar por separado: use herramientas que hacen una cosa bien, es decir, es La filosofía de Unix, ¿verdad?

Simplemente mantengo un conjunto estandarizado de etiquetas y archivos, y los sincronizo con un conjunto 'base'; simplemente puede usar cp -u u otra herramienta de copia de su elección. En mi caso, tengo el archivo maestro configurado en un sistema Windows. , y simplemente copie los archivos en su lugar a una unidad USB, y úselo para sincronizar otras copias.

Si están desactualizados, elimine el original o use rsync o unison solo en ese momento.

Journeyman Geek
fuente