我将使用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
有什么想法吗?
P.S我不应该重启ProFTP,所以请不要建议logrotate或类似的想法!
答案 0 :(得分:0)
非常感谢@Ivan Gurzhiy
解决方法是:“ FIFO读取器进程必须先运行” ..)))
非常感谢!
答案 1 :(得分:-1)
SystemLog-将系统日志重定向到文件
cronolog从stdin获取数据。
接下来,您可以创建用于启动proftpd和cronolog的简单包装,是的,在这种情况下,您必须将所有输出都转换为stdout并关闭日志记录:
proftpd | cronolog...
在documenation(cronolog)中回答有关命名管道的问题,但是该命名管道必须作为文件存在(请参阅mkfifo)。 您可以使用名称为pipe的mkfifo创建并为SystemLog设置此文件。 然后创建脚本包装程序,以从先前创建的缓冲区(命名管道)中读取数据,并重定向到cronolog的stdin。
更新: 如果将cronolog用于循环日志,则必须先运行cronolog,然后再运行ProFTPd