rsync inclui / exclui diretórios

1

Eu preciso sincronizar a partir desta lista de diretórios apenas o diretório da web. Estou usando uma distro debian e o rsnapshot com o protocolo rsync para a transferência dos dados.

clients
├── client3
│   ├── site1.eu -> /var/www/clients/client3/web12/
│   ├── site2.it -> /var/www/clients/client3/web2/
│   ├── site3.it -> /var/www/clients/client3/web1658/
│   ├── web12
│   │   ├── cgi-bin
│   │   ├── log -> /var/log/panel/httpd/site1.eu
│   │   ├── ssl
│   │   ├── tmp
│   │   └── web  <<<< TO INCLUDE
│   ├── web1658
│   │   ├── cgi-bin
│   │   ├── log -> /var/log/panel/httpd/site2.it
│   │   ├── ssl
│   │   ├── tmp
│   │   └── web   <<<< TO INCLUDE
│   └── web2
│       ├── cgi-bin
│       ├── log -> /var/log/panel/httpd/site3.it
│       ├── ssl
│       ├── tmp
│       └── web   <<<< TO INCLUDE
.
.
.
.

isto é o que eu quero:

clients
├── client3
│   ├── site1.eu -> /var/www/clients/client3/web12/
│   ├── site2.it -> /var/www/clients/client3/web2/
│   ├── site3.it -> /var/www/clients/client3/web1658/
│   ├── web12
│   │   └── web
│   ├── web1658
│   │   └── web
│   └── web2
│       └── web
.
.
.
.

Este é o arquivo de configuração do rsyncd no servidor web

# RSYNCD CONFIG FILE

log file =/var/log/rsyncd.log 

[WEBSITES]
   path = /var/www/clients/
   read only = yes
   list = yes
   uid = 0
   gid = 0
   hosts allow = 123.123.123.132
   max connections = 25
   socket options = SO_KEEPALIVE
   include from = /etc/rsyncd.rules

[secure]
   secrets file = /etc/rsyncd.secrets
   list = false

obrigado

    
por Michelangelo 09.12.2011 / 09:59

1 resposta

1

Vá para o diretório de clientes no sistema de arquivos de origem. Então você pode usar o seguinte comando

rsync -R -r client3/*/web*/web   target_clients_folder

Certifique-se de obter a correspondência correta de destino e origem. Senão seus arquivos podem ser copiados em outro lugar.

Essencialmente, você deve usar as opções -R -r com uma expressão incluindo alguns caracteres *.

    
por 09.12.2011 / 10:12

Tags