Questão:
Sincronizando arquivos entre computadores?
Olli
2014-02-05 05:18:18 UTC
view on stackexchange narkive permalink

Tenho três computadores (2x OS X e 1x Ubuntu) e tablet Android. Estou tentando encontrar uma ferramenta para sincronizar arquivos automaticamente entre os computadores e o tablet. Os backups são feitos separadamente, então não há necessidade de controle de versão.

Mais de 100 GB de arquivos devem ser sincronizados entre computadores e alguns gigabytes entre computadores e tablet. Portanto, serviços como Dropbox, Google Drive ou OneDrive não são realmente práticos, pois o preço é relativamente alto. Além disso, não preciso ou quero a sincronização na nuvem, pois sincronizar essa quantidade de dados pela Internet leva um pouco de tempo (e dinheiro, dependendo da localização).

Usei com sucesso o [Gluster] (http://www.gluster.org/) para manter grandes arquivos sincronizados entre os servidores. Ele roda em Linux e OS X, embora não em Android. No entanto, ** certamente ** não é amigável, exigindo uma quantidade significativa de configuração manual.
O Google Drive agora oferece um plano de assinatura de 200 GB, então o preço pode não ser mais um problema.
Seis respostas:
#1
+27
Olli
2014-02-05 05:29:14 UTC
view on stackexchange narkive permalink

Bittorrent Sync ( wikipedia) parece se encaixar muito bem. Ele sincroniza automaticamente os arquivos entre os dispositivos sempre que houver uma conexão disponível, lida com colisões se elas acontecerem e é compatível com Linux, Android, OS X e Windows, entre outros. Não requer um servidor central (ou laptop específico) para estar disponível.

Do lado negativo, ainda é beta e pode ser descontinuado. No entanto, notícias recentes dizem que sua base de usuários já ultrapassa 2 milhões, então a descontinuação provavelmente não é o maior risco.


Minhas experiências até agora:

  • Parece funcionar surpreendentemente bem.
  • A sincronização com um telefone nem sempre funciona sem iniciar manualmente o aplicativo. Isso também pode ser apenas minha impaciência.
  • Sincronizar ativamente (adicionar novos arquivos) no telefone consome um pouco de bateria. No entanto, isso é esperado, já que consome muitos recursos (evitando hibernação, gravando no flash e mantendo o wi-fi ativo). Este foi o único problema durante a sincronização inicial (adicionando 10 GB de fotografias).
  • O desempenho em LAN / wi-fi é bom. Satura a rede de forma fácil e constante. Existem opções para limitar as taxas de upload e download.
  • Os relógios devem ser sincronizados (relativamente bem, + -5min é tolerável), caso contrário, o Sync se recusa a funcionar.
  • Configuração compartilhada pastas é fácil, mas não há como excluir alguns dos conteúdos (por exemplo, arquivos temporários).
  • Além de sincronizar computadores domésticos e telefone, agora estou usando o Sync para publicar arquivos em meu servidor. Ao compartilhar algo, eu salvo / exporto para a pasta sincronizada e é automaticamente baixado para o servidor. Mais fácil / rápido do que executar o sftp manualmente.
Eu também acrescentaria que isso funciona em quase * qualquer coisa * - executei o Arm build em um raspberry pi com bastante sucesso e ele rodaria em muitos outros sistemas baseados em arm, incluindo NASes.
Não tenho certeza se está tudo bem ou não, mas simplesmente roubei sua resposta e postei uma versão ligeiramente modificada em http://softwarerecs.stackexchange.com/questions/3255 Existe alguma regra sobre isso? Posso deletar se você quiser postar sozinho. Felicidades :-)
@NicolasRaoul não sei - Não vejo por que você não poderia, especialmente ao dar atribuição.
Como o Bittorrent Sync resolve conflitos?
[Syncthing] (https://syncthing.net/) é uma alternativa de código aberto ao Bittorrent Sync (agora Resilio)
#2
+15
Izzy
2014-02-05 13:11:19 UTC
view on stackexchange narkive permalink

Você pode sincronizar seus dispositivos via SSH:

  • nas máquinas Linux e MacOS, usando rsync , e agendá-lo via Cron
  • no Android, há, por exemplo, FolderSync, que pode lidar com SSH (e vários outros protocolos, incluindo FTP e alguns serviços em nuvem, portanto, também pode servir a outros fins). Ele traz seu próprio programador, mas com sua versão paga também pode ser controlado via Tasker.

FolderSync menu FolderSync: Define FolderPairs FolderSync FolderPairs
FolderSync Capturas de tela: página principal, definir pares de pastas , pares de pastas definidos (fonte: Google Play; clique nas imagens para obter variantes maiores)


Minhas experiências pessoais

Estou usando o FolderSync em todos os meus dispositivos Android, por exemplo ter meus backups ( Titanium Backup / AppMonster ) armazenados no meu PC e também manter meus dados do registrador de trabalho sincronizados. Inicialmente, encontrei alguns problemas com a sincronização unilateral do último (não me lembro dos detalhes exatamente); mas a mudança para duas vias também parece ter resolvido esses problemas. O agendador integrado desperta o dispositivo por 5 minutos para verificar se há algo a fazer, mesmo se você tiver apenas um evento diário agendado - é por isso que eu desliguei e usei o Tasker para acionar as sincronizações. Uma vez configurado, às vezes até esqueço que está lá: funciona perfeitamente e sempre que preciso acessar meus dados do PC, ele simplesmente está lá e atualizado (por exemplo, ao preparar a planilha de horas com base em dados criados no dispositivo Android) .

Não há necessidade de falar sobre a confiabilidade do Cron (nunca me falhou). Estou usando rsync em minhas máquinas Linux para muitas coisas - mas principalmente unidirecional; portanto, não posso compartilhar experiências de sincronizações bi-di. Pelo que sincronizo com ele (e isso é muito), estou muito satisfeito com isso. A linha de comando pode precisar de um pouco de aprendizado sobre os parâmetros e quais usar quando; Eu configurei meus próprios scripts para fins específicos, então não preciso me lembrar de todas as opções.

#3
+12
mirabilos
2014-02-05 05:23:43 UTC
view on stackexchange narkive permalink

Com git-attachment e git-attachment-assistant, você pode sincronizar arquivos entre todos eles (e mais), até mesmo dizer coisas como “para este subconjunto de arquivos, certifique-se de que está sempre em pelo menos dois computadores, mas no máximo um tablet ”e outras regras virtualmente arbitrárias. O git-attachment-assistant é o lado “amigável” do utilitário de linha de comando git-extending git-attachment , incluindo Android, Web e outras interfaces. Embora possa ainda não estar totalmente estável em todas as versões, joeyh está trabalhando ativamente nisso, então ficará ainda melhor com o tempo, especialmente à medida que mais pessoas irão usá-lo / testá-lo.

(Eu vinculei ao página do kickstarter, embora o assistente já seja financiado e mais de um ano em desenvolvimento, porque tem muitos links e detalhes incríveis.)

Eu mesmo usei (git-anexo, não o assistente ainda ), e é uma ferramenta útil, mas às vezes você precisa pensar muito para usá-la ao máximo (mas, então, você pode fazer coisas com ela que nem mesmo o autor pensou; como uma substituição OwnCloud que funcionou melhor ainda). Sem problemas de compatibilidade, apenas com um ou outro bug raro. Regressões aconteciam, mas ainda mais raramente, e geralmente eram corrigidas rapidamente. O desenvolvedor é muito acessível.

Vou verificar isso. O suporte para Android não parece ser muito estável.
Você usou git-attachment (-assistant)? Você pode realmente recomendá-lo? Alguma coisa boa / ruim? Ele está sendo desenvolvido ativamente, algum problema / regressão de compatibilidade com versões anteriores foi encontrado?
Esta solução tem muitas peças móveis, mas uma vez que você as faz girar, o resultado é espetacularmente versátil. Esta é definitivamente a solução para este problema do tipo "tenha o seu bolo e coma-o".
#4
+12
Gilles 'SO- stop being evil'
2014-02-05 07:13:08 UTC
view on stackexchange narkive permalink

Unison é um sincronizador de arquivos. É bom para sincronizar arquivos entre duas máquinas, onde os arquivos podem ser modificados em qualquer uma das duas máquinas. Se seus requisitos são “rsync, apenas duas maneiras”, então o Unison é exatamente o que você procura.

Com mais de duas máquinas, use um padrão de estrela: uma máquina central com a qual todas as outras máquinas são sincronizadas .

Tenho usado o Unison dessa maneira desde seus primeiros dias (no Linux e no Windows ocasional) e não vi uma alternativa surgindo que parecesse resolver o mesmo problema. Os sistemas de controle de versão distribuída (Mercurial, Bazaar, Git, ...) também podem fazer a sincronização de arquivos como um efeito colateral, mas são muito mais pesados: são úteis se você for fazer um trabalho sério nos arquivos de cada um máquina.

O Unison pode ser usado tanto na linha de comando quanto com uma GUI simples. Ele funciona no Linux, OSX e outras variantes do Unix, bem como no Windows. Para sincronizar com o tablet Android, você pode usar a porta Android nativa (que vem com um servidor SSH) com GUI opcional.

Bem, o requisito não é "rsync, apenas duas maneiras". Como padrão em estrela, requer aquela máquina central que está sempre (ou quase sempre) disponível.
@Olli Sem um padrão de estrela, você terá dificuldade em evitar conflitos. O Unison avisa sobre conflitos, mas não ajuda muito a resolvê-los. Para ter uma chance de resolver conflitos, você entra no software de controle de versão (por exemplo, [baseado em git] (http://softwarerecs.stackexchange.com/a/131)), que é mais poderoso, mas mais difícil de usar.
Com o padrão de estrela, os conflitos serão difíceis se os arquivos forem modificados simultaneamente. O padrão de estrela não corrige nada.
Além disso, git-attachment (ou git em geral) ajuda a resolver conflitos (em comparação com o que o Unison faz) somente se for possível mesclar arquivos. O que não é o caso, por exemplo, de imagens ou vídeos.
Você usou o Unison para isso? Você sabe que funciona bem? Você pode realmente recomendá-lo? Como está a porta Android?
@Olli Veja minha edição. Eu [não estou convencido] (http://meta.softwarerecs.stackexchange.com/questions/326/how-important-is-personal-experience) que essas recomendações subjetivas são uma boa ideia, pois também convidam a shills, mas ok, se você quiser, você conseguiu.
Eu gosto de apontar para [esta meta postagem] (http://meta.softwarerecs.stackexchange.com/questions/86/youre-doing-it-all-wrong) que parece atrair um pouco de upvotes - "Boas respostas neste site será na forma de depoimentos honestos que compartilham experiências em primeira mão com algo "- com base nisso, contar experiências pessoais (relevantes) é importante, porque caso contrário, é apenas" Eu encontrei o sucesso do Google que diz que este é um bom software " . Obrigado por atualizações.
Eu recomendo fortemente [Termux] (https://termux.com), pois contém um servidor OpenSSH completo (ao contrário de muitos aplicativos * de servidor SSH * na loja) e executando [binário Unison padrão compilado para Android] (https: // github. com / vovcacik / unison-build-scripts).
#5
+3
leventov
2014-02-07 02:24:11 UTC
view on stackexchange narkive permalink

Usei o GoodSync ( wiki) para sincronizar diretórios enormes entre dois desktops Windows e um Ubuntu. O suporte para Mac e Android também é declarado, de causa. O que eu pessoalmente gostei:

  • muito agendando / incluindo / excluindo diretórios / padrões / estratégias de conflito / tarefas hieráricas / quaisquer definições / configurações.

  • boa visualização do progresso da sincronização

GoodSync Window with Right Click Menu

  • funciona (já não é muito ruim para sincronizar software)

No entanto, este é um software comercial e não barato ($ 40 para Mac após um período de teste de 30 dias).

Não sabia sobre isso, obrigado pela sugestão. Mesmo que eu não tenha declarado explicitamente, $ 120 (uma licença por dispositivo) é um pouco demais para mim, pois há alternativas gratuitas.
#6
+1
Anil Natha
2014-02-12 05:17:33 UTC
view on stackexchange narkive permalink

Eu uso o Chronosync há alguns anos no trabalho para manter meus computadores OS X sincronizados e, de modo geral, ele funciona bem. Atualmente está disponível para a plataforma OS X. Uma lista completa de recursos pode ser encontrada aqui. Você certamente poderia usá-lo para sincronizar seus arquivos no Ubuntu se configurar o acesso a ele a partir das máquinas OS X.

Alguns dos recursos básicos que ele fornece são sincronização manual ou automática, filtragem e tratamento especial de arquivos , sincronização de exclusão de arquivo e muitos outros recursos. E é surpreendentemente barato, US $ 40 por uma única licença.

Não tenho um telefone Android, então não tenho certeza de como você conecta seu telefone Android ao computador OS X, mas se ele está montado como um unidade de disco, não há razão para que você não possa usar este software para sincronizar os dados, mas eu queria pelo menos compartilhar este programa com você, caso ele o ajude a realizar o que você está procurando. Saúde.



Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...