Использование демона Pure-ftpd для обслуживания службы ftp. Я изменил сценарий инициализации для запуска нескольких доменов с разными IP-адресами, с отдельными базами данных и отдельными сообщениями WELCOME MSG.
daemon "$pure_launch_script /etc/pure-ftpd/dom1.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom1.msg"
daemon "$pure_launch_script /etc/pure-ftpd/dom2.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg"
daemon "$pure_launch_script /etc/pure-ftpd/dom3.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg"
Все работает безупречно и без ошибок. Но проблема в том, что все домены, которые я обслуживаю, регистрируются (подробно) только в одном файле xfer.log. Расследовать и контролировать активность неудобно. Моя система, использующая rsyslog, очень продвинутая ... Итак, мое единственное решение, которое я вижу, - это фильтровать сообщения, но его нужно фильтровать по IP-адресу интерфейса, который выделен для каждого из нескольких серверов и не может найдите фильтр для этого в rsyslog. Этот единственный вариант - fromhost-ip ... который не работает в моем случае, не может фильтровать по $ msg contains, потому что пользователи регистрируются как user @ remoteip ...
Теперь я черная дыра ... Если у кого-то есть хорошая идея, будет здорово.
A. Вам нужно изменить код (ой)
B. Создайте именованный канал, чтобы все три экземпляра могли писать в него, с другой стороны, вы можете читать все сообщения с помощью простого скрипта, и в соответствии с запущенным pid вы узнаете, к какому экземпляру принадлежит сообщение.
http://www.linuxjournal.com/content/using- named-pipes-fifos-bash
Я уверен, что с другими манипуляциями вы можете автоматизировать это, записывая переменные (PID) во время запуска каждого экземпляра, поэтому вам не нужно будет проверять pid экземпляра каждый раз, когда вы анализируете вывод.