Мне нужно синхронизировать из этого списка каталогов только веб-каталог. Я использую дистрибутив 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 с выражением, содержащим некоторые символы *.