Como arquivar automaticamente um diretório?

46

Eu quero fazer uma maneira de sincronização.

Estou tendo Folder A no meu computador, que é constantemente atualizado com conteúdo.
Outro Folder B é usado para fins de backup, que está no disco rígido externo.

Agora, o que eu espero é que qualquer extra que esteja presente na pasta A deve ir para a pasta B. No entanto, algo que está presente em B e NOT em A "" NÃO será copiado para A "".

Em suma, a pasta de backup pode copiar tudo da pasta de origem, no entanto, nada deve ser copiado da pasta de backup para a fonte.

    
por Z9iT 06.06.2012 / 14:14

9 respostas

61

Parece uma tarefa perfeita para o rsync

sudo rsync -az /path_to/A /path_to/B
  

- um modo de arquivo (implica recursiva, copia links simbólicos como links simbólicos, preserva o proprietário, horários de modificação, grupo, proprietário, arquivos especiais e de dispositivo)

     

-z comprime os dados

Se você deseja remover arquivos excluídos em A dos arquivos em B, use a opção --delete

Para mais informações, consulte:

link

Você pode executar o rsync a partir do cron

sudo crontab -e

Adicione uma tarefa por hora

@hourly rsync /path_to/A /path_to/B

link

    
por Panther 06.06.2012 / 14:33
15

Sugiro usar o rsync para essa finalidade. O Rsync é extremamente rápido, estável e versátil. Há uma boa introdução no link

Se desejar, existe um front end gráfico opcional: grsync

 sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB

O comando acima irá copiar de folderA para folderB excluindo dir1. As bandeiras são

-a preserves time stamps
-z is to enable compression
-v verbose

Existem muitas outras opções disponíveis.

    
por JIm 06.06.2012 / 14:39
8

Eu sempre achei o Unison muito útil. Tem uma interface baseada em texto ou interface gráfica, e algumas opções diferentes para ajustá-lo ao que você quer (com um pouco de mexer). Demora um pouco de tempo para fazer a primeira sincronização, mas depois disso é brilhante. Você pode fazê-lo sincronizar unidirecionalmente, da maneira que quiser, mas isso será feito automaticamente. Ele também pode excluir do backup ou não como você escolher.

Você também pode encontrar problemas com permissões que são suportadas no formato de arquivo ubuntu, mas talvez não no disco rígido externo (dependendo se o disco rígido externo vai ser usado em uma máquina Windows, isso pode ser uma coisa boa ), então você vai querer sincronizar sem as permissões potencialmente.

De qualquer forma, o interessante é que, com o tutorial, é relativamente simples configurá-lo uma vez e, a partir daí, é uma interface gráfica sempre que você quiser.

Veja algumas informações sobre isso: link

E aqui está o tutorial: link

    
por Dr Xorile 26.10.2012 / 01:49
4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

Isso sincronizará e copiará apenas os dados que não existem no /other/folder/on/hdd/

    
por drN 26.10.2012 / 02:22
2

Concordo com as outras respostas, você pode usar em rsync no Terminal ou nas interfaces Grsync , luckyBackup , Conduit ou o famoso Uníssono .

Outro ótimo aplicativo é o Krusader (um Gerenciador de Arquivos Twin-Panel para o KDE), no menu Tools você pode encontrar "Syncronize Directories", é muito útil.

Em última instância, você pode instalar o Wine e instalar outro gerenciador de arquivos de painel duplo, como o Total Commander .

De qualquer forma, você tem muitas opções e todas elas estão presentes no Ubuntu Software Center.

    
por Raúl F. Castro S. 23.01.2013 / 20:36
1

Eu recomendaria Conduit para sincronização simples. Está disponível o sistema de software. Faz exatamente o que você está procurando

    
por jasonwert 06.06.2012 / 14:36
0

Existe uma ferramenta shell bastante útil chamada rsnapshot - link - utilitário de instantâneo do sistema de arquivos para fazer backups de sistemas locais e remotos. que usa rsync e hard links, o que torna possível manter múltiplos backups completos do sistema de arquivos instantaneamente disponíveis. Basta fazer sudo apt-get install rsnapshot e verificar info rsnapshot

    
por user1180249 23.01.2013 / 18:51
0

Você pode sincronizar arquivos dentro de dois direcotries por:

rsync -rv /path/to/directory1/ /path/to/directory2

Fazer rsync -rv /path/to/directory1 /path/to/directory2 criará directory1 dentro de directory2 , como este /path/to/directory2/directory1/[files]

Você pode executar a execução usando -n switch, como este rsync -rnv /path/to/directory1/ /path/to/directory2

Referência: link

    
por subhojit777 19.10.2014 / 11:06
0

Se você quiser uma interface gráfica em um sistema altamente configurável, experimente o FreeFileSync. Veja, por exemplo: link Em particular, você quer o "Update" opção para sincronização que "Copiará arquivos novos ou atualizados para a pasta correta", ou seja, copiar da pasta da esquerda para a pasta da direita em uma exibição de duas janelas.

    
por CentaurusA 23.01.2013 / 19:01