当前位置:首页>Linux>Linux杂记 -- 管理服务

Linux杂记 -- 管理服务

  • 2026-09-02 18:50:49
Linux杂记 -- 管理服务

10.1 诊断服务问题

systemctl status [servicename]
适用于:Ubuntu(服务器和桌面版)>= 15.04,以及 RHEL/CentOS >= 7:
其中 [servicename] 是相关服务;例如,systemctl status sshd。
这将显示基本状态信息和任何最近记录的错误。
你可以使用 journalctl 查看更多错误。例如,journalctl -xe 将把最后 1000 条日志加载到分页器(如 less)中,并跳转到末尾。你也可以使用 journalctl -f,它将实时跟踪日志消息。
要查看特定服务的日志,使用 -t 标志,如下所示:
journalctl -f -t sshd
其他方便的选项包括 -p 用于优先级(-p warnings 只查看警告及以上级别),-b 用于"自上次启动以来",-S 用于"自从"——结合起来,我们可以这样做:
journalctl -p err -S yesterday
查看自昨天以来记录为错误的所有项目。
如果 journalctl 不可用,或者你正在跟踪不使用系统日志的应用程序错误日志,可以使用 tail 命令显示文件的最后几行。tail 的一个有用标志是 -f(表示"跟随"),它会导致 tail 在数据追加到文件时继续显示。要查看系统上大多数服务的消息:
tail -f /var/log/messages
或者,如果服务是特权服务,可能记录敏感数据:
tail -f /var/log/secure
某些服务有自己的日志文件,一个很好的例子是 auditd,Linux 审计守护进程,其日志存储在 /var/log/audit/ 中。如果你在 /var/log/messages 中没有看到服务的输出,请尝试在 /var/log/ 中查找服务特定的日志。

10.2 启动和停止服务

在使用 System-V 风格 init 脚本的系统上,如 RHEL/CentOS 6:
service <service> startservice <service> stop
在使用 systemd 的系统上,如 Ubuntu(服务器和桌面版)>= 15.04,以及 RHEL/CentOS >= 7:
systemctl start <service>    # 例如:systemctl start dnsmasqsystemctl stop <service>     # 例如:systemctl stop dnsmasq

10.3 获取服务状态

在使用 System-V 风格 init 脚本的系统上,如 RHEL/CentOS 6:
service <service> status
在使用 systemd 的系统上,如 Ubuntu(服务器和桌面版)>= 15.04,以及 RHEL/CentOS >= 7:
systemctl status <service>

最新文章

随机文章