我相信你们都做得很好。
我们计划实现以下文件的日志轮换。stdout.log
我们使用下面的日志循环配置文件。
/usr/local/rms/kafka/kafka-connect-fluentd/stdout.log {
daily
rotate 7
maxsize 100M
minsize 10M
copytruncate
delaycompress
compress
notifempty
missingok
}
我们已经注意到文件正在旋转,并且文件是truncated.But应用程序不会将日志写入新文件。我们尝试发送HUP信号,但它不起作用。
-rw-r--r-- 1 appuser appuser 8.2M Feb 20 03:11 stdout.log.4.gz
-rw-r--r-- 1 appuser appuser 4.0M Feb 20 23:48 stdout.log.3.gz
-rw-r--r-- 1 appuser appuser 7.6M Feb 20 23:49 stdout.log.2.gz
-rw-r--r-- 1 appuser appuser 2.1G Feb 21 03:39 stdout.log.1
-rw-r--r-- 1 appuser appuser 2.2G Feb 21 14:15 stdout.log
应用程序本身没有重新加载选项,当我们需要重新加载或重新启动应用程序时,我们停止应用程序并启动应用程序。
我们使用下面的命令来启动应用程序
nohup connect-standalone ${BASE}/connect-standalone.properties
${BASE}/FluentdSourceConnector.properties >& ${BASE}/stdout.log &
我们使用下面的命令来终止应用程序
kill -9 <processid>
对于这种情况,我们如何实现日志轮换机制?
发布于 2019-02-22 00:54:34
>& FILE
是用于以下各项的obsolete syntax:
> FILE 2>&1
将命令的> FILE
redirects标准输出保存到名为FILE
的文件中。但是,在此之前,“如果文件不存在,则创建该文件;如果该文件存在,则将其截断为零大小”。
因此,每次重新启动命令时,您的文件都会被shell (正确地)截断。您想要的是附加到文件中。通过使用>>
重定向可以做到这一点。包括您想要重定向stdout和stderr,使用:
2>&1 >>FILE
2>&1
将stderr重定向到stdout,>>FILE
将stdout附加到FILE
。
https://stackoverflow.com/questions/54801517
复制相似问题