Como posso modificar o “cp -ru” para remover arquivos no destino que não existem mais na fonte?

1

Eu tenho um diretório com muitos subdiretórios e vários milhões de arquivos. Tamanho total em torno de 15 GB. Eu tenho uma breve janela (de preferência cerca de 30 segundos) para espelhar as alterações para este diretório para um segundo diretório idêntico em outra unidade. Drives são SSD.

Eu tentei várias encarnações de tar e rsync, mas acessei "cp -ru" porque ele é capaz de copiar os arquivos novos e alterados dentro do tempo permitido. O primeiro cp leva talvez 15 minutos; mas o futuro "cp -ru" leva apenas 20 a 40 segundos. Outras opções que experimentei foram muito mais lentas (demorando muitos minutos).

Meu problema é que acabo com arquivos "extras". Arquivos que brevemente existiram na origem acabam no destino para sempre; mesmo depois que eles foram excluídos da fonte. Existe uma maneira de modificar o "cp -ru" para eliminar os arquivos de destino que não existem mais na fonte? Ou isso atrasaria demais?

Ou talvez uma operação secundária possa, de alguma forma, varrer a origem de maneira "somente leitura" e eliminar arquivos no destino? Essa operação pode demorar mais tempo; como eu tenho sobre um período de tempo de 1 hora entre backups. Eu simplesmente não consigo copiar arquivos durante este período porque eles estão em um servidor ativo (arquivos estão sendo modificados).

Estou disposto a tentar outras opções além do cp; mas ele precisa ser capaz de fazer backup de alterações em milhões de arquivos em cerca de 30 segundos.

Estou executando o Ubuntu Server 14.04.3 LTS.

    
por Mark Krueger 28.01.2016 / 18:40

0 respostas