跳到主要内容

使用 systemd 控制服务

systemd 的使用

在 Linux 系统下,使用 systemd 可以方便地控制服务的启动、停止、重启等操作。

如 Linux 服务端上没有安装 systemd,可以使用 yum 或 apt 等命令安装 systemd。

# yum
yum install systemd
# apt
apt install systemd

下面以 frp 服务端为例,介绍如何使用 systemd 控制服务。

/etc/systemd/system 目录下创建一个 frps.service 文件

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini

[Install]
WantedBy = multi-user.target

使用 systemd 命令,管理 frps。

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

配置 frps 开机自启

systemctl enable frps

journald 日志管理

journald 是 Linux 上的一种系统日志管理服务,是 systemd 的一个重要部分,它负责收集系统及内核的日志,并对其进行管理和归档。journald 的主要作用是提供一个中央日志存储库,以便管理员可以随时查询并分析日志数据。具体来说,journald 可以做到以下几点:

1、启动速度快 journald 作为 systemd 的一部分,在系统启动时就已经启动,不需要等待其他日志服务程序的启动,因此,启动速度更快。

2、支持日志数据加密 journald 通过支持数据加密来保证日志数据的安全性,可有效防止日志数据泄露的风险。

3、支持大量数据的日志收集与检索 journald 支持实时收集大量的日志数据,并针对不同的程序和用户产生的日志数据进行分类,管理员可以通过特定的命令进行检索和查询。

4、支持日志持久化和压缩 journald 将日志数据存储在二进制格式的文件中,使得日志数据更真实地传输及存储。并且 journald 自动归档过时的日志文件,可以防止日志文件占用过多的磁盘空间。

journald 的常用命令

  1. journalctl

journalctl 命令用于查看系统日志, 可以使用以下选项:

  • -f:实时滚动输出新的日志信息;
  • -k:查看内核日志信息;
  • -p:筛选不同级别的日志信息;
  • -u:按单位名称查看相关日志信息;
  • --since/-S 和 --until/-U:查看指定时间范围内的日志信息;
  • -o:指定输出日志信息的格式。

例如:

journalctl      # 查看所有的日志信息
journalctl -k # 查看内核日志信息
journalctl -u sshd.service # 查看sshd服务相关的日志信息

# 查看最后的 100条
sudo journalctl -f -n 100 -u k3s
  1. journalctl --system

jounralctl --system命令用于查看系统级别的日志,包括内核和系统服务的日志信息。该命令与journalctl命令的用法类似。

例如:

journalctl --system    # 查看系统级别的所有日志信息
journalctl --since "yesterday" # 查看昨天以后的所有日志
  1. journalctl --user

journalctl --user命令用于查看用户级别的日志信息,包括用户自己的进程和服务等产生的日志信息。

例如:

journalctl --user    # 查看当前用户产生的所有日志信息
  1. journalctl --disk-usage

journalctl --disk-usage命令用于查看日志文件占用的磁盘空间大小,可以判断本地日志文件是否占用过多磁盘空间。

例如:

journalctl --disk-usage     # 查看日志文件占用的磁盘空间大小

总之,journald的命令可以方便地查看、筛选、查询并管理日志信息,为管理员分析和解决问题提供了很大的便利。