LinuxForum.Fans
Тема

rsync

Автор: XliN 12 сообщений 2738 просмотров
#323371

Подскажите как rsync серверу сказать не качать скрытые папки. Которые с точками.

Смотрите третью секцию.

text
[filearchive]
comment = Rsync file storage
#path = /var/www/html/packages.mageialinux.ru
patch = /var/ftp/mageia3
use chroot = yes
lock file = /var/lock/rsyncd
read only = yes
list = yes
uid = nobody
gid = nobody
strict modes = yes
ignore errors = no
timeout = 600
transfer logging = yes
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

[mageia3] path = /var/ftp/mageia3 comment = Mageia 3 i586 and x86_64 repository

[mageia2] path = /var/ftp/mageia2 comment = Mageia 2 i586 and x86_64 repository

[mageia] path = /var/ftp/* comment = Mageia repository

В /var/ftp есть папка .ХХХХ Как ее исключить?

#323376
XliN написал:
Подскажите как rsync серверу сказать не качать скрытые папки. Которые с точками.

rsync -avz --exclude '/path-to/.*' ... не подходит?

#323377
"Cruiser78⇓" написал:
не подходит?

Имелось ввиду как это сказать серверу? Что бы пользователи выкачивали с него все, кроме скрытой папки. Что бы сервер rsync не знал о ней.

Т.е. rsync должен "расшарить" все папки и подпапки, кроме скрытой в /var/ftp

#323398

Не понял. Куда и в какую секцию?

#323403

А можно заставить rsync ходить по символическим ссылкам? Я попробовал сделать папку корневую и накидал туда ссылки на нужные мне папки. Не помогло. Вытащил он только сим. ссылки ((

#323404
XliN написал:
А можно заставить rsync ходить по символическим ссылкам? Я попробовал сделать папку корневую и накидал туда ссылки на нужные мне папки. Не помогло. Вытащил он только сим. ссылки ((

Вы не про это?

man rsync написал:

-L, --copy-links transform symlink into referent file/dir
-k, --copy-dirlinks transform symlink to dir into referent dir
#323406

Не про это. Эти ключи используются на стороне клиента. Мне же надо что бы сам сервер rsync не давал выгружать скрытые папки.
Делается это так

text
[mageia]
exclude=.home
path = /var/ftp/

Клиент сможет все скачать с /var/ftp кроме /var/ftp/.home Причем обычной командой, без выше приведенных ключей.

text
rsync -avz  rsync://packages.mageialinux.ru/mageia mageia
#323408
"inhabt⇓" написал:
Вы не про это?

Я пробовал ключ -L Хотя это не то, что мне нужно было. Не работало. По сим. ссылкам rsync не побежал.

text
receiving incremental file list
symlink has no referent: "/mageia3" (in mageia)
symlink has no referent: "/svg" (in mageia)
symlink has no referent: "/chroot" (in mageia)
symlink has no referent: "/mageia2" (in mageia)

sent 39 bytes received 258 bytes 594.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518) [generator=3.0.9]

#323418

Давайте вернёмся к началу темы и совету ув. zenon, который предложил вписать

zenon написал:
exclude = ./XXXX
или
zenon написал:
exclude = /.XXXX

в каждую секцию.

Это работает?

#323428

Сработало так как я написал выше. По наводке ув. zenon. В ковычках и со слешем не срабатывало.

#323435
XliN написал:
Сработало так как я написал выше. По наводке ув. zenon. В ковычках и со слешем не срабатывало.

Виноват, не заметил.
Вот здесь есть что-то о символьных ссылках (это вроде как вольный перевод man rsyncd.conf):
http://www.bog.pp.ru/work/rsh.html

параметры модулей
...
use chroot - для запуска сервера требуются права root, невозможно использовать абсолютные символьные ссылки и ссылки вовне модуля (выключено)
...
munge symlinks - модифицирует символьные ссылки (добавляет “/rsyncd-munged/”), чтобы блокировать выход за рамки модуля, иначе rsync просто удаляет начальные "/" и ".." (включено)
Войдите или зарегистрируйтесь, чтобы ответить.