我有一个日志文件,假设它是任何文本(txt)文件。
我正在使用php和执行功能来阅读它。
虽然时间间隔不固定,但日志文件大多每10秒更新一次,因为普通日志文件会正常。我准备好延迟展示结果。
一种方法是使用cron作业(每10-20秒刷新一次脚本看起来很奇怪)。
假设同一服务器上的日志文件和php文件
我有自己的专用服务器Ubuntu
有谁可以告诉我一种方法,我可以通过它读取文件?
只要文件发生变化,或者我必须使用python / java或其他语言,就会执行像php文件这样的事情吗?
如果答案仍然坚持cronjobs如何在我的Ubuntu服务器中添加它们(我有php作为apache模块)?
由于
答案 0 :(得分:1)
$fp = fopen('/path/to/log/file', 'r');
while (true) {
$line = fgets($fp);
if ($line === false) {
echo "no new content, sleeping\n";
sleep(3);
fseek($fp, 0, SEEK_CUR);
} else {
echo $line;
}
}
答案 1 :(得分:0)
您可以使用:
# tail -f log.txt
或在命令行上命名日志文件的任何内容。这将保留终端中显示的最后几行。您还可以指定要显示的行数,例如
# tail -n 100 -f log.txt