![流式传输错误日志](https://linux22.com/image/17824/%E6%B5%81%E5%BC%8F%E4%BC%A0%E8%BE%93%E9%94%99%E8%AF%AF%E6%97%A5%E5%BF%97.png)
我想在错误日志 ( /log/spo.error
) 写入时对其内容进行流式传输,但sed
在看到它之前先通过管道传输该流。我怎样才能做到这一点?
答案1
如果您使用 syslog(经典 syslog),请在文件中/etc/syslog.conf
添加以下行:
*.* /tmp/fifo
其中/tmp/fifo
是您使用 创建的管道mknod p /tmp/fifo
。
重新启动您的系统日志服务,以便它读取您的新配置,现在所有日志都将转储到管道中。然后,如果您愿意,您可以使用tail
管道或执行任何操作来读取它(只需记住竞争条件)。
答案2
tail -f 是正确的选择。稍后我会询问有关 FIFO 的更多信息;)