cp e mv alternativa com melhor suporte a mesclagem?

1

Estou procurando uma alternativa às ferramentas de linha de comando padrão cp e mv , especificamente estou procurando recursos como:

  • barra de progresso detalhada / relatórios
  • suporte a execução a seco
  • suporte para mesclar diretórios
  • não há aviso de substituição quando os arquivos de origem e de destino são idênticos
  • resolução de conflitos ao sobrescrever (ou seja, renomear um dos arquivos)
  • copiando para vários destinos de uma só vez
  • multiencadeamento (isto é, continuar copiando em segundo plano enquanto lidei com a resolução de conflitos no primeiro plano)

Portanto, basicamente, um conjunto de recursos semelhante ao que o Windows 8 Explorer pode fazer ao copiar ou mover arquivos.

PS: rsync com --progress --recursive --remove-source-files --checksum --backup é um pouco útil para mesclar diretórios, mas ainda está longe de ser perfeito, já que remove apenas arquivos de origem, não diretórios e não tem muito em termos de resolução interativa de conflitos. / p>     

por Grumbel 16.01.2014 / 22:28

4 respostas

4

O rsync pode ser usado localmente para copiar / atualizar arquivos. Como exemplo:

rsync --progress -a sourcedir/ destdir/

Se você ainda não tem,

sudo apt-get install rsync

Há um grande número de outras coisas que o rsync faz, veja a página man para detalhes e / usr / share / doc / rsync / para exemplos.

ETA: Seguindo o "PS" da pergunta, se você precisar de uma sincronização ainda mais sofisticada, tente:

sudo apt-get install unison unison-gtk

Execute o unison-gtk e configure um perfil. Toda vez que você executar a sincronização a partir desse perfil, será perguntado o que fazer quando houver uma colisão / conflito entre os dois diretórios no perfil. Para cada conflito, você poderá escolher interativamente a ação correta (sync aa ou skip) para cada arquivo.

    
por Luno 16.01.2014 / 22:45
1

Você está procurando por rsync . Pelo menos, acredito que suporta tudo o que você precisa.

Eu o executo com a opção -A , embora a página de manual mostre tudo o que você precisa.

No pior dos casos, ou você não consegue encontrar nada, você pode fazer o seu próprio.

    
por Kupiakos 16.01.2014 / 22:42
1

Escrevi um pequeno script move.py rápido para manipular a mesclagem de diretórios, pois enquanto rsync funciona, rsync executa uma cópia e não uma renomeação e, portanto, acaba sendo extremamente lento em grandes conjuntos de dados:

por Grumbel 18.05.2015 / 08:02
0

Além das outras respostas sugerindo rsync , você também pode usar grsync . Veja este guia sobre como usar Backups Rsync e Grsync para Linux .

    
por landroni 19.01.2014 / 09:22