Como usar o rsync para fazer backup de todo o sistema de arquivos - incluir / excluir o arquivo de regras

1

Estou tentando configurar o backup do rsync para meus servidores FreeBSD.

Eu montei um comando rsync que se parece com isso:

rsync -avzhe ssh --progress --delete --delete-excluded \
--exclude-from=/root/rsync-excludes \
-e ssh / [email protected]:Backups/location

Meu arquivo /root/rsync-excludes é assim:

- *~
+ /root
+ /usr/home
+ /usr/srv
+ /etc
+ /usr/local/etc
+ /var/backups
+ /usr/local/pgsql/backups
- /root/.my.cnf
- /*

Mas, por algum motivo, ele apenas faz o backup de / etc e / root, deixando de fora os outros arquivos. Alguém pode explicar por quê?

Solução

De acordo com a resposta de Gilles, eu descobri, e minha configuração agora é assim:

- *~
+ /etc
+ /root
+ /usr/
+ /usr/home
+ /usr/local/
+ /usr/local/etc
+ /usr/local/git
+ /usr/local/pgsql/
+ /usr/local/pgsql/backups
- /usr/local/pgsql/*
+ /usr/local/varnish
- /usr/local/*
+ /usr/srv
- /usr/*
+ /var/
+ /var/backups
- /var/*
- /root/.my.cnf
- /*
    
por mikl 21.08.2010 / 16:06

2 respostas

3

Durante uma travessia recursiva, o rsync corresponde cada diretório às regras. Quando se trata de /usr , a primeira regra de correspondência é - /* . Portanto, /usr é excluído e o rsync nem sequer vê nada abaixo dele. Correção: inclua explicitamente /usr , bem como /usr/local , /usr/local/pgsql e /var .

O manual do rsync tem uma discussão mais extensa sob as “regras de padrão de inclusão / exclusão” (reconhecidamente não é a leitura mais fácil).

    
por 21.08.2010 / 16:36
0

Parece que você está recebendo um comportamento do sistema de arquivos. Este pode ser o padrão no freebsd.

Eu também vejo que o seu destino não é uma conta raiz que deve quebrar a retenção de permissões e propriedade.

    
por 21.08.2010 / 16:30