如何使用cronolog或rotatelogs在ProFTPd中旋转日志



我将使用 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 = File or directory not found(

我当时有同样的错误,而不是cronolog,我使用旋转日志

有什么想法吗?

附言我没有重新启动ProFTP,所以请不要建议日志旋转或类似的想法!

非常感谢@Ivan·古尔日伊

解决方案是:"FIFO读取器进程必须首先运行">

多谢!

来自文档 :

系统日志 -- 将系统日志记录重定向到文件

cronolog 从 stdin 获取数据。

接下来,您可以创建用于启动proftpd和cronolog的简单包装器,是的,在这种情况下,您必须将所有输出转换为stdout并关闭日志记录:

proftpd | cronolog...

是的,在文档(cronolog(中说的是命名管道,但是这个命名管道必须作为文件存在(参见mkfifo(。 您可以使用 mkfifo 命名管道创建并为系统日志设置此文件。 然后创建脚本包装器,用于从先前创建的缓冲区(命名管道(读取数据,并重定向到 cronolog 的 stdin。

更新: 如果使用 cronolog 轮换日志,则必须先运行 cronolog 然后才能运行 ProFTPd

最新更新