我将使用 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