comando cp, ignora arquivos inalterados

10

Existe uma maneira de fazer isso, cpmas ignorando os arquivos que já existem no destino e que não são mais antigos que os arquivos na origem.

Basicamente, quero copiar o conteúdo de um disco para outro e depois executar a cópia novamente, mas apenas atualizando novos arquivos ou arquivos que foram atualizados no lado da fonte.

obrigado

Ben Everard
fonte

Respostas:

17

usa isto:

rsync -a /source /destination

Como alternativa, você pode obter mais detalhes com alguns outros sinalizadores como -vou --progress.

UtahJarhead
fonte
1
Quero acrescentar que você também pode usar rsyncpela rede. É particularmente fácil fazer isso usando ssh. Para a origem OU o destino, acrescente-o user@host:e ele fará exatamente isso. Isso funcionará como um substituto parascp
UtahJarhead 17/12/12
9

da página de cpmanual:

   -u, --update
          copy only when the SOURCE file is newer than the destination file or when  the
          destination file is missing
ensopado
fonte
Acabei de encontrar isso também, estava olhando a página de manual para a versão errada de cp. D'oh!
Ben Everard
6

Use rsync, problema resolvido.

rsync -av /srcdir /tgtdir
Sven
fonte