我用 来检查服务状态systemctl status service-name。
默认情况下,我只看到几行,所以我添加-n50以查看更多。
有时,我想从头开始查看完整日志。它可能有 1000 行。
现在,我检查它,-n10000但这看起来不是很好的解决方案。
是否有类似于less命令的选项来检查完整的 systemd 服务日志?
lar*_*sks 971
只需使用journalctl命令,如:
journalctl -u service-name.service
Run Code Online (Sandbox Code Playgroud)
或者,仅查看当前启动的日志消息:
journalctl -u service-name.service -b
Run Code Online (Sandbox Code Playgroud)
对于 named <something>.service,您实际上可以只使用<something>,如下所示:
journalctl -u service-name
Run Code Online (Sandbox Code Playgroud)
但是对于其他类型的单元(套接字、目标、计时器等),您需要明确。
在上面的命令中,-u标志是 , 的缩写--unit,并指定您感兴趣的单位的名称。  -b是 , 的缩写--boot,并将输出限制为仅当前启动,这样您就不会看到很多旧消息。有关更多信息,请参阅journalctl 手册页。
小智 49
systemctl通过添加-l标志,可以包括其状态列表的完整输出,而不被截断:
systemctl -l status service-name
Run Code Online (Sandbox Code Playgroud)
-l: 不要用省略号截断条目 (...)
--no-pager 可以添加以避免在输出是交互式终端时调用寻呼机。  
小智 18
使用 journalctl 查看系统日志
在没有PagingPermalink 的情况下查看journalctl要将日志发送到标准输出并避免对它们进行分页,请使用 --no-pager 选项:
journalctl --no-pager
不建议您在没有首先过滤显示的日志数量的情况下执行此操作。
journalctl -u service-name.service
显示时间范围内的日志Permalink 使用 --since选项显示指定日期和时间之后的日志:
journalctl --since "2018-08-30 14:10:10"
使用 --until 选项显示指定日期和时间之前的日志:
journalctl --until "2018-09-02 12:05:50"
结合这些以显示两次之间的日志:
journalctl --since "2018-08-30 14:10:10" --until "2018-09-02 12:05:50"
J11*_*J11 10
使用 journalctl
将日志写入文本文件
并自下而上阅读
journalctl -u service-name.service > file_name.txt
tail file_name.txt
Run Code Online (Sandbox Code Playgroud)
        小智 7
大多数时候,使用以下 bash 命令既方便又容易:
journalctl -xefu service-name.service
Run Code Online (Sandbox Code Playgroud)
或者
journalctl -xefu service-name
Run Code Online (Sandbox Code Playgroud)
它的工作方式就好像进程是通过 shell 执行的,并且输出是动态变化的(类似于tail -f)。
由于@Julien的答案似乎不再适用于我的系统(Debian 11),我终于屈服并劫持了我系统上的 systemctl :
systemctl() { 
    if [[ "${1-}" == "log" ]]; then  
        /usr/bin/journalctl -u "${@:2}"; 
    else /usr/bin/systemctl "$@";
    fi 
}
Run Code Online (Sandbox Code Playgroud)
将此 oneliner 添加到您的 .bashrc 中,您的 systemctl 将获得一个新的log“动词”来提供缺少的功能。不再浪费时间重新输入繁琐的命令。
作为额外的好处,此方法还可以让您访问所有选项journalctl(前提是它们在单位名称之后指定):
systemctl log named.service --since=today
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           963421 次  |  
        
|   最近记录:  |