Como copiar uma pasta por outra, mas NÃO por mesclar / adicionar

2

Estou fazendo backups de um diretório com um simples:

cp -R /production/directory /backups/location

Às vezes, preciso restaurar um backup, mas faço:

cp -R /backups/location/* /production/directory

ou

cp -RT /backups/location /production/directory

tem o efeito indesejado (no meu caso) de manter os arquivos presentes em /production/directory  mas não no backup, enquanto eu quero que eles sejam removidos, para obter as coisas exatamente no mesmo estado de quando o backup foi feito.

Existe algum interruptor mágico, ou outro comando simples, para fazer isso, ou eu preciso remover manualmente todo o diretório primeiro?

    
por Gnurfos 14.01.2015 / 15:43

2 respostas

3

Você pode usar rsync para conseguir o que deseja.

rsync -r --delete-during /backup/location/ /production/directory

Para mais informações, consulte man rsync

    
por 14.01.2015 / 17:37
0

Bem, há um comando chamado rm -R que remove um diretório inteiro. Então você inicia sua restauração com rm -R /production/directory , seguido pelo comando restore.

    
por 14.01.2015 / 16:48