Usando o rsync para sincronizar diretórios

1

Eu tenho um script que estou usando para fazer backup de um diretório em uma máquina do CentOS 6.

É muito básico, mas está sendo executado

rsync -a remote:~/original ./backup

Isso funciona bem: é copiar o conteúdo do original para o backup. Contudo. quando algo é excluído do original, ele ainda está presente no backup.

Eu queria saber se é possível para rsync garantir que os dois diretórios tenham o mesmo conteúdo, independentemente de os itens terem sido adicionados ou excluídos.

Apagar o conteúdo do diretório de backup antes do rsync não é uma opção porque os diretórios são enormes.

    
por Trent 24.06.2015 / 15:53

2 respostas

2

Para que os arquivos sejam excluídos no destino quando forem excluídos na origem, use a opção --delete.

rsync -vaz --delete <origin_folder> <destination_folder>

Agora o destino excluirá itens dentro dele quando a origem acontecer.

    
por 24.06.2015 / 16:09
1

Existem várias opções de exclusão para escolher aqui e a extração da página man rsync .

        --delete                delete extraneous files from dest dirs
        --delete-before         receiver deletes before xfer, not during
        --delete-during         receiver deletes during the transfer
        --delete-delay          find deletions during, delete after
        --delete-after          receiver deletes after transfer, not during
        --delete-excluded       also delete excluded files from dest dirs
    
por 24.06.2015 / 16:03