Tengo como 4 o 5 computadoras ahora, y necesito un mejor sistema para sincronizar todo. Utilizo mucho git y github para sincronizar mis archivos para proyectos de programación, pero luego hay bases de datos, archivos .bash_profile, scripts bash, etc. A veces, en lugar de sincronizar archivos, simplemente ingreso de una computadora a otra. Pero esto se está volviendo bastante caótico. Algunas de mis computadoras son Ubuntu y otras son OS X.
¿Alguna sugerencia para administrar un flujo de trabajo que abarque varias computadoras personales?
Respuestas:
Utilizo una combinación de Git para repositorios de git y Unison para todo lo demás. Tengo varios perfiles al unísono para poder sincronizar cosas específicas, y uno que sincroniza todo. También tengo un script de bash que pasa y sincroniza todas las cosas que sincroniza al unísono, luego pasa y actualiza todos mis repositorios git.
Unison es lo mejor en mi mente cuando se trata de sincronizar computadoras.
fuente
Dropbox
Para sincronizar archivos, es tan fácil como trabajar en ellos dentro de una carpeta que DropBox conoce. El video en la página principal hace la mayor parte de la descripción, razón por la cual no hice comentarios sobre las características. Simplemente modifique un archivo versionado y DropBox lo cargará automáticamente, luego todas las otras máquinas con DropBox descargarán automáticamente la última versión.
Para cosas como bases de datos, los enlaces simbólicos pueden ser el camino a seguir. Este hilo en los foros de DropBox proporciona una pequeña idea de cómo se puede sincronizar una base de datos MySQL. Alternativamente, podría hacer la ruta de script "exportar / importar" o, si realmente está utilizando MySQL, podría echar un vistazo a Replicación y cómo implementarla (esta es una característica de MySQL que no usa DropBox).
fuente
fuente
Puede usar github para todo su código, por supuesto, incluidos los archivos .bash_profile y los scripts de bash.
El servidor Hudson / Jenkins CI es bueno para mantener múltiples entornos. Utilizado junto con DbMaintain, también puede mantener sus bases de datos sincronizadas.
Mi equipo utiliza esta combinación para sincronizar cuatro estaciones de emparejamiento, una variedad de computadoras portátiles y entornos de CI, TEST y QA (con servidores y sus propias copias de la base de datos).
Esto implica máquinas Windows, computadoras portátiles Mac y servidores Linux, por lo que es bastante flexible.
fuente
Mantengo mis archivos de puntos en git, con ramas para configuraciones específicas de la máquina. Me permite configurar una nueva máquina rápidamente y puedo compartir scripts y mantenerlos en la última versión.
fuente
Quizás deba dar un paso atrás y preguntarse por qué necesita tantas computadoras. Es como si alguien preguntara cómo mantener todas sus cosas igual en los 5 autos que posee.
Le sugiero que se pregunte qué hace cada máquina que no hace su máquina principal, y simplemente haga que lo haga.
¿Has considerado una buena computadora portátil?
Si todo esto está en su casa, puede configurar un servidor y mantener todas las cosas allí. Entonces solo tiene una máquina con datos para respaldar.
Si son máquinas remotas, considere obtener un vps de Linux y almacene sus cosas remotas allí. No use ningún servicio gratuito en línea como github, dropbox, etc., ya que pueden desaparecer en el momento equivocado.
No use AWS para almacenar sus cosas. a $ 0.1 / mes / GB, eso es $ 100 / mes / TB, o $ 1200 / año / TB. Por ese dinero, puede comprar alrededor de 15 discos duros Western Digital de 1TB.
Si administra un negocio y gana dinero con él, use el mejor servicio que pueda obtener, pero para ser honesto, es difícil ganarle a los discos duros para mover muchos datos. Incluso las unidades micro USB de 32 GB son del tamaño de una uña y puedes mover muchos datos ...
Ahí está la nube, la nube privada. Tal vez debería haber la Nube personal ...
fuente
Git, migró desde Subversion, a su vez migró desde CVS. fgit (descargo de responsabilidad: por mí) para
pull
push
,status
ygc
.fuente
¿Has considerado crear algún tipo de infraestructura de nube allí? Parece ser la única forma de abstraer desde qué estación de trabajo tiene el servicio / archivo / cosa.
Aquí hay un enlace a la nube de Ubuntu .
fuente
Yo uso Wuala como reemplazo de Dropbox. Un problema es la falta de monitoreo de carpetas en Linux. Básicamente analiza todos los archivos cada minuto. La próxima versión debería arreglar ese somhow, así lo dicen.
La sincronización en tiempo real en Linux es problemática si tiene decenas de miles de carpetas (por ejemplo, repositorios git) debido a la forma en que se implementa inotify. Para cada carpeta debe haber un "reloj"; consulte, por ejemplo, https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux
fuente