Назад | Перейти на главную страницу

rsync включает / исключает каталоги

Мне нужно синхронизировать из этого списка каталогов только веб-каталог. Я использую дистрибутив debian и rsnapshot с протоколом rsync для передачи данных.

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
.
.
.
.

вот что я хочу:

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
.
.
.
.

Это файл конфигурации rsyncd на веб-сервере

# 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

Спасибо

Перейдите в каталог клиентов в исходной файловой системе. Затем вы можете использовать следующую команду

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

Убедитесь, что вы получили правильное соответствие цели и источника. В противном случае ваши файлы могут быть скопированы в другое место.

По сути, вы должны использовать параметры -R -r с выражением, содержащим некоторые символы *.