📅  最后修改于: 2023-12-03 15:20:26.761000             🧑  作者: Mango
systemctl
命令是 Systemd 系统管理器的一部分,用于控制系统的服务管理。systemd
基于一个分层的、为 Linux 设计的系统初始化系统,取代了传统的 SysVinit 和 Upstart。systemctl
命令可以用来启动、停止、重启和管理各种 Linux 服务。
systemctl
命令还提供了一种管理日志的方法,可以帮助程序员快速查找和解决 Linux 服务相关的问题。本文将介绍如何使用 systemctl
命令来管理 Linux 服务日志。
使用以下命令可以查看 Linux 服务的日志:
systemctl status <service-name>
例如,要查看 Apache web 服务器的日志,可以运行以下命令:
systemctl status apache2.service
这将显示 Apache web 服务器当前的状态和日志条目。如果 Apache web 服务器正在运行,这将显示如下信息:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2021-06-19 20:18:53 CEST; 2 days ago
Main PID: 1460 (apache2)
Tasks: 7 (limit: 2099)
Memory: 32.8M
CGroup: /system.slice/apache2.service
├─1460 /usr/sbin/apache2 -k start
├─5264 /usr/sbin/apache2 -k start
├─5265 /usr/sbin/apache2 -k start
├─5266 /usr/sbin/apache2 -k start
├─5267 /usr/sbin/apache2 -k start
├─5269 /usr/sbin/apache2 -k start
└─5270 /usr/sbin/apache2 -k start
这个输出包含当前 Apache web 服务器的状态信息,以及守护进程的 PID 和内存使用情况等。
使用以下命令可以实时监控 Apache web 服务器的日志输出:
sudo journalctl -u apache2.service -f
此命令将显示正在运行的 Apache web 服务器的日志输出,并将以实时的方式更新日志输出。
journalctl
命令可以用来筛选和搜索 Linux 服务的日志。以下是一些示例:
journalctl --since "2019-01-01 00:00:00" --until "2019-01-01 01:00:00" -p err
journalctl -u apache2.service | grep "Error"
journalctl _PID=1460
journalctl _UID=1000
journalctl /path/to/file
使用以下命令可以清除 Linux 服务的日志:
sudo journalctl --vacuum-size=1G
此命令将删除所有日志文件,直到日志文件的大小减少到 1GB。
systemctl
命令可以帮助程序员查看和管理 Linux 服务的日志。通过筛选和搜索日志,程序员可以快速诊断和解决问题。使用 systemctl
命令还可以清除旧的日志文件,使系统维持较小的存储空间。