Как заставить rsync прослушивать два разных порта через xinetd?

У меня есть несколько серверов, которые получают файлы через rsync на разных портах. Я хотел бы объединить их на одном физическом сервере и позволить клиентам продолжать направлять свои файлы на тот же порт, который они делают сейчас (то есть на разные альтернативные порты).

Обычно я просто бегаю /usr/bin/rsync --daemon --port=x для каждого, но я пытаюсь заставить его работать через xinetd в centos 6, так как сейчас это rsync-сервер по умолчанию. Добавление портов в /etc/services не делал этого (должно быть под inetd, но может не xinetd?). Если я запустлю демон вручную и позволю xinetd запустить тот, который он запускает (поэтому я не заблокирован, чтобы просто сделать это), но я все равно хотел бы, чтобы они оба запускались xinetd. Мой вопрос: можно ли это сделать?

В качестве дополнения, в man rsync:

--port=PORT
This specifies an alternate TCP port number for the daemon to listen on rather than the default of 873. See also the lqportrq global option in the rsyncd.conf manpage.

lqportrq не отображается ни в man rsync.d, ни в поиске Google. что дает?

1 ответ

Вам нужно добавить дополнительную конфигурацию xinetd для каждого дополнительного порта, который вы хотите использовать. Каждый порт нуждается в уникальном имени службы в /etc/servicesтак, например:

echo "rsync00 900/tcp" >> /etc/services

А потом в /etc/xinet.d/rsync00:

service rsync00
{
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon --config /etc/rsync00.conf
        log_on_failure  += USERID
}
Другие вопросы по тегам