我正在寻找一种方法,可以简单地从Debian中的systemctl服务打印最后X行。我想将此代码安装到脚本中,该脚本使用打印的和最新的日志条目。我找到了这篇文章,但出于我的目的我无法对其进行修改。
当前,我正在使用此代码,这只是给我一小段日志文件:
journalctl --unit=my.service --since "1 hour ago" -p err
要给出结果的外观示例,只需在上面的命令中键入任何服务,然后滚动到日志末尾即可。然后从底部开始复制最后300行。
我的想法是使用egrep ex。egrep -m 700 .
但是从那以后我再也没有运气了
Answers:
只需将输出传递给tail
:
journalctl --unit=my.service | tail -n 300
该tail
命令将在stdin中收到的最后几行(默认情况下为10)打印到stdout。
只是:
journalctl -u SERVICE_NAME -e
参数-e
代表:
- e --pagerend; 立即在隐式分页器工具内跳到日记的末尾。这意味着-n 1000,以确保分页器不会缓冲无限制大小的日志。可以使用带有其他数值的显式-n覆盖此参数,而-nall将禁用此上限。