Eu faria a cópia real com
rsync --archive --delete "fromdir/" "todir/"
Isso será mais eficiente do que usar cp
, pois rsync
apenas copia arquivos que foram alterados e, mesmo assim, copia apenas a alteração em si, em vez do arquivo inteiro.
Se você preferir que não exclua arquivos em todir
que foram excluídos em fromdir
, deixe de fora a opção --delete
.
A opção --archive
basicamente diz para preservar o estado dos arquivos, bem como seu conteúdo. Observe que, se você tiver links simbólicos em dir1
, copiará os links e não os arquivos aos quais eles se vinculam. Usar esse sinalizador com rsync
é semelhante ao uso de cp -a
.
Certifique-se de usar a barra de fechamento em fromdir/
: isso diz a rsync
para copiar o conteúdo desse diretório, ao invés do próprio diretório . Em outras palavras, se você deixar de fora a% final /
, você acabará com
todir/
todir/stuff
todir/fromdir/
todir/fromdir/morestuff
em vez de
todir/
todir/morestuff