Agora tenho 4 ou 5 computadores e preciso de um sistema melhor para sincronizar tudo. Eu uso muito o git e o github para sincronizar meus arquivos para projetos de programação, mas existem bancos de dados, arquivos .bash_profile, scripts bash, etc. Às vezes, em vez de sincronizar arquivos, eu ssh de um computador para outro. Mas isso está ficando bastante caótico. Alguns dos meus computadores são Ubuntu e outros são OS X.
Alguma sugestão para gerenciar um fluxo de trabalho que abranja vários computadores pessoais?
Respostas:
Eu uso uma combinação de Git para repositórios git e Unison para todo o resto. Tenho vários perfis uníssonos para sincronizar coisas específicas e uma que sincroniza tudo. Eu também tenho um script bash que analisa e sincroniza todas as coisas que o unison sync executa e atualiza todos os meus repositórios git.
O uníssono é a melhor coisa em minha mente quando se trata de sincronizar computadores.
fonte
Dropbox
Para sincronizar arquivos, é tão fácil quanto trabalhar neles em uma pasta que o DropBox conhece. O vídeo na página principal faz a maior parte da descrição, motivo pelo qual não comentei os recursos. Simplesmente modifique um arquivo com versão e o DropBox fará o upload automaticamente, para que todas as outras máquinas com o DropBox baixem automaticamente a versão mais recente.
Para coisas como bancos de dados, links simbólicos podem ser o caminho a percorrer. Esse tópico nos fóruns do DropBox fornece uma pequena visão de como alguém pode sincronizar um banco de dados MySQL. Como alternativa, você pode fazer a rota de script "exportar / importar" ou, se estiver usando o MySQL, pode dar uma olhada no Replication e como implementá-lo (esse é um recurso do MySQL que não usa o DropBox).
fonte
fonte
Você pode usar o github para todo o seu código, é claro, incluindo arquivos .bash_profile e scripts bash.
O servidor Hudson / Jenkins CI é bom para manter vários ambientes. Usado junto com o DbMaintain, também pode manter seus bancos de dados sincronizados.
Minha equipe usa essa combinação para sincronizar quatro estações de emparelhamento, uma variedade de laptops e ambientes de CI, TEST e QA (com servidores e suas próprias cópias do banco de dados).
Isso envolve máquinas Windows, laptops Mac e servidores Linux, por isso é bastante flexível.
fonte
Eu mantenho meus arquivos de ponto no git, com ramificações para configurações específicas da máquina. Ele permite que eu configure rapidamente uma nova máquina e eu posso compartilhar scripts e mantê-los na versão mais recente.
fonte
Talvez você precise dar um passo atrás e se perguntar por que você precisa de tantos computadores. É como alguém perguntando como manter todas as suas coisas iguais nos 5 carros que ele possui.
Eu sugiro que você se pergunte o que cada máquina faz que a sua máquina principal não faz, e apenas faça isso.
Você já considerou um bom laptop?
Se tudo estiver em sua casa, você poderá configurar um servidor e manter todas as coisas lá. Então você só tem uma máquina com dados para fazer backup.
Se forem máquinas remotas, considere obter um vps Linux e armazene seu material remoto lá. Não use serviços on-line gratuitos, como github, dropbox, etc., pois eles podem desaparecer na hora errada.
Não use a AWS para armazenar suas coisas. a US $ 0,1 / mês / GB, é US $ 100 / mês / TB ou US $ 1200 / ano / TB. Por esse dinheiro, você pode comprar cerca de 15 discos rígidos de 1 TB da Western Digital.
Se você administra uma empresa e ganha dinheiro com ela, use o melhor serviço possível, mas, para ser sincero, é difícil vencer os discos rígidos para movimentar muitos dados. Até as unidades micro USB de 32 GB são do tamanho de uma unha e você pode mover muitos dados ...
Existe a nuvem, a nuvem privada. Talvez deva haver a nuvem pessoal ...
fonte
O Git, migrado do Subversion, por sua vez, migrou do CVS. fgit (disclaimer: por mim) para
pull
push
,status
egc
.fonte
Você já pensou em criar algum tipo de infraestrutura de nuvem lá? Parece a única maneira de abstrair de qual estação de trabalho possui o serviço / arquivo / coisa.
Aqui está um link para a nuvem Ubuntu .
fonte
Eu uso o Wuala agora como um substituto para o Dropbox. Um problema é a falta de monitoramento de pastas no Linux. Basicamente, verifica todos os arquivos a cada minuto. A próxima versão deve corrigir isso de alguma forma, como eles dizem.
A sincronização em tempo real no Linux é problemática se você tiver dezenas de milhares de pastas (por exemplo, repositórios git) devido à maneira como o inotify é implementado. Para cada pasta, é necessário haver um "monitor" - veja, por exemplo, https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux
fonte