Как вращать логи в ProFTPd с помощью cronolog или rotatelogs - PullRequest
0 голосов
/ 12 октября 2018

Я буду использовать cronolog, чтобы вращать журналы Proftpd (без перезапуска Proftpd) в / etc / proftpd.conf Я написал:

SystemLog                        "|cronolog  /var/log/proftpd/%Y/%m/%d/sys2.log"

Артер работает

sudo proftpd

У меня есть:

  • error: unable to stat() /var/log/proftpd/|cronolog /var/log/proftpd/%Y/%m/%d: Datei oder Verzeichnis nicht gefunden
  • Fatal: SystemLog: unable to redirect logging to '/var/log/proftpd/|cronolog /var/log/proftpd/%Y/%m/%d/sys2.log': Datei oder Verzeichnis nicht gefunden on line 16 of '/etc/proftpd.conf

(Datei oder Verzeichnis nicht gefunden = Файл или каталог не найдены)

Та же ошибка, что и у меня, вместо cronolog. Я использую rotatelogs

Любые идеи?

PS Я НЕ СЛЕДУЕТ перезапускать ProFTP, поэтому, пожалуйста, не предлагайте logrotate или что-то подобное!

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Большое спасибо @Ivan Gurzhiy

Решение: «Процесс чтения FIFO должен запускаться первым» ..)))

Большое спасибо!

0 голосов
/ 12 октября 2018

Из документации :

SystemLog - перенаправить системный журнал в файл

cronolog получить данные из стандартного ввода.

Затем вы можете создать простую оболочку для запуска proftpd и cronolog, да, в этом случае вы должны включить весь вывод в stdout и отключить ведение журнала:

proftpd | cronolog...

Да, в документации (cronolog) говорится о именованных каналах, ноэтот именованный канал должен присутствовать в виде файла (см. mkfifo).Вы можете создать с помощью mkfifo named pipe и установить для SystemLog этот файл.Затем создайте оболочку сценария для чтения данных из ранее созданного буфера (именованного канала) и перенаправьте на стандартный ввод cronolog.

Обновление: если вы используете cronolog для ротации журналов, вы должны сначала запустить cronolog перед запуском ProFTPd

...