我目前使用tail -f来监控日志文件:这样我就可以通过自动清理控制台来监控Web服务器。
现在,说网络服务器被转移到另一台主机,我没有shell权限。 不过我有一个.txt网络路径,最后是一个不断更新的日志文件。
所以,我想做一些像tail -f这样的东西,但是在那个url上。 它有可能吗?最后“在linux中一切都是文件”所以..
答案 0 :(得分:4)
您可以在watch
结合wget
的帮助下进行自动刷新。
它不会显示历史记录,例如tail -f
,而是更新top
之类的屏幕。
命令示例,在屏幕上显示file.txt上的内容,并每五秒更新一次输出:
watch -n 5 wget -qO- http://fake.link/file.txt
此外,您可以输出n个最后一行,而不是整个文件:
watch -n 5 "wget -qO- http://fake.link/file.txt | tail"
如果您仍然需要像“tail -f”这样的行为(保留历史记录),我认为您需要编写一个脚本,每次下载日志文件,将其与以前下载的版本进行比较,然后打印新的线。应该很容易。
答案 1 :(得分:0)
我编写了一个简单的bash脚本,每2秒获取一次URL内容,然后与本地文件output.txt
进行比较,然后将diff附加到同一文件中
我想在Jenkins管道中流式传输AWS Amplification日志
while true; do comm -13 --output-delimiter="" <(cat output.txt) <(curl -s "$URL") >> output.txt; sleep 2; done
别忘了先创建空文件output.txt
文件
: > output.txt
查看流:
tail -f output.txt
原始评论:https://stackoverflow.com/a/62347827/2073339
更新:
我在这里使用wget找到了更好的解决方案:
while true; do wget -ca -o /dev/null -O output.txt "$URL"; sleep 2; done