如何解决使socat逐行写入TCP或UNIX套接字以进行日志收集
|| 我正在尝试合并来自多个主机的多个日志文件。我要为每个要遵循的日志记录ѭ0。 在日志收集器上,我正在做socat -u UNIX-RECV:/tmp/socket -
我的问题是日志条目有时会重叠,因为socat一次不写一行,而是一次写一个缓冲区。
有什么办法可以使其一次写一行?
解决方法
尝试使用伪终端来缓冲socat的写行:
- socat -u EXEC:\'follow_log_cmd\' UNIX-SENDTO:/tmp/socket
+ socat -u EXEC:\'follow_log_cmd\',pty,ctty UNIX-SENDTO:/tmp/socket
另请参阅:https://stackoverflow.com/questions/1000674/turn-off-buffering-in-pipe
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。