Usando o rsync com excluir / incluir

6

Estou executando 2 servidores do Ubuntu 9.10. Eu tenho que sincronizar as alterações entre essas duas máquinas. A seguir estão os diretórios que eu tenho que sincronizar:

/ usr, / etc, / var, / bin, / sbin, / lib

Estou usando o rsync como o abaixo para replicação:

rsync -avP 192.168.2.100:/usr/ /usr

rsync -avP 192.168.2.100:/etc/ /etc ------ aqui terei que excluir muitos arquivos como / etc / udev / *, / etc / hosts, / etc / hostname, ...

Eu tentei usar rsync -avP --exclude '/etc/fstab' 192.168.2.100:/etc/ /etc , mas ele substituiu o diretório / etc inteiro

Qualquer um pode editar e me rsync para um comando de linha que sincroniza diretórios especificados e não quais são excluídos ?. Precisa de ajuda!

    
por user3215 15.11.2010 / 13:38

4 respostas

0

O seguinte é o comando rsync para sincronizar vários diretórios em uma linha e é trabalhado para mim. Por favor, deixe-me saber se é o caminho certo para usar.

Isso deve ser executado no sistema SOURCE:

rsync -avP --exclude 'udev' --exclude 'hosts' --exclude 'hostname' --exclude 'any-account-under-home' /etc /home /usr /var /lib /bin /sbin 192.168.2.100:/

Podemos excluir muitos arquivos / diretórios de diretórios especificados.

Se tivermos um arquivo com o mesmo nome, digamos 'test' em / etc / e / home e você deseja excluir este arquivo somente de / etc, colocando uma entrada de exclusão excluindo 'test' de todos.

    
por user3215 17.11.2010 / 02:56
5

O padrão de exclusão é relativo aos arquivos source , não aos arquivos de destino. Você está realmente excluindo 192.168.2.100:/etc/etc/fstab , que não existe.

Você deve usar:

rsync -avP --exclude '/fstab' 192.168.2.100:/etc/ /etc
    
por Adam Matan 15.11.2010 / 13:46
3

Você deve usar algo assim:

$ sudo rsync "$backup_options" --log-file="$backup_log_file" --include-from="$backup_incl_from_file" --exclude-from="$backup_excl_from_file" "$backup_src_folder" "$backup_dest_folder"

em que o arquivo de texto $ backup_incl_from_file deve incluir:

usr/***
etc/***
var/***
bin/***
sbin/***
lib/***
...

e o arquivo de texto $ backup_excl_from_file deve incluir:

etc/udev/
etc/hosts
etc/hostname
...

Neste exemplo

backup_src_folder="192.168.2.100:/"
backup_dest_folder="192.168.2.101:/"

É importante que você leia a página do manual rsync antes de usar este exemplo para atender às suas necessidades, prestando atenção especial à seção INCLUDE / EXCLUDE PATTERN RULES .

    
por zuzust 15.11.2010 / 17:30
0

Tente isso na janela Opções avançadas para excluir um diretório e seus subdiretórios

- exclude "/ user / pathtodirectory * /" onde 'user' é o seu nome de usuário e 'pathtodirectoy' é o diretório que você deseja excluir, junto com todos os seus subdiretórios. Certifique-se de incluir as aspas duplas e as barras.

Exemplo: --exclude "/ johndoe / downloads * /"

Testado no Ubuntu 14.04 e no Ubuntu Gnome 14.04.

    
por Christopher 29.04.2014 / 18:30

Tags