systemd学习笔记

systemctl

重启

systemctl reboot

关闭

systemctl poweroff

CPU停止工作

systemctl halt

暂停系统

systemctl suspend

休眠

systemctl hibernate

交互式休眠

systemctl hybrid-sleep

单用户状态

systemctl rescue


systemd-analyze

启动耗时

systemd-analyze

每个服务的启动耗时

systemd-analyze blame

瀑布状的启动过程流

systemd-analyze critical-chain

显示指定服务的启动流

systemd-analyze critical-chain atd.service


hostnamect

显示当前主机的信息

hostnamectl

设置主机名

hostnamectl set-hostname xxxx


localectl

查看本地化设置

localectl

设置本地化参数

localectl set-locale LANG=en_GB.utf8
localectl set-keymap en_GB


timedatectl

查看当前时区设置

timedatectl

显示所有可用的时区

timedatectl list-timezones

设置当前时区

timedatectl set-timezone America/New_York
timedatectl set-time 2018-10-25
timedatectl set-time 11:32:00


loginctl

列出当前session

loginctl list-sessions

列出当前登录用户

loginctl list-users

列出显示指定用户的信息

loginctl show-user root


查询状态

列出正在运行的 Unit

systemctl list-units

列出所有Unit,包括没有找到配置文件的或者启动失败的

systemctl list-units --all

列出所有没有运行的 Unit

systemctl list-units --all --state=inactive

列出所有加载失败的 Unit

systemctl list-units --failed

列出所有正在运行的、类型为 service 的 Unit

systemctl list-units --type=service


查询状态

显示系统状态

systemctl status

显示单个 Unit 的状态

systemctl status bluetooth.service

显示远程主机的某个 Unit 的状态

systemctl -H [email protected] status httpd.service

显示某个 Unit 是否正在运行

systemctl is-active application.service

显示某个 Unit 是否处于启动失败状态

systemctl is-failed application.service

显示某个 Unit 服务是否建立了启动链接

systemctl is-enabled application.service


服务管理

立即启动一个服务

systemctl start apache.service

立即停止一个服务

systemctl stop apache.service

重启一个服务

systemctl restart apache.service

杀死一个服务的所有子进程

systemctl kill apache.service

重新加载一个服务的配置文件

systemctl reload apache.service

重载所有修改过的配置文件

systemctl daemon-reload

显示某个 Unit 的所有底层参数

systemctl show httpd.service

显示某个 Unit 的指定属性的值

systemctl show -p CPUShares httpd.service

设置某个 Unit 的指定属性

systemctl set-property httpd.service CPUShares=500

列出一个 Unit 的所有依赖

systemctl list-dependencies --all nginx.service


配置文件的状态

列出所有配置文件

systemctl list-unit-files

列出指定类型的配置文件

systemctl list-unit-files --type=service

查看配置文件

systemctl cat atd.service


日志管理

查看所有日志(默认情况下 ,只保存本次启动的日志)

journalctl

查看内核日志(不显示应用日志)

journalctl -k

查看系统本次启动的日志

journalctl -b
journalctl -b -0

查看上一次启动的日志(需更改设置)

$ sudo journalctl -b -1

查看指定时间的日志

journalctl --since="2012-10-30 18:17:16"
journalctl --since "20 min ago"
journalctl --since yesterday
journalctl --since "2015-01-10" --until "2015-01-11 03:00"
journalctl --since 09:00 --until "1 hour ago"

显示尾部的最新10行日志

journalctl -n

显示尾部指定行数的日志

journalctl -n 20

实时滚动显示最新日志

journalctl -f

查看指定服务的日志

journalctl /usr/lib/systemd/systemd

查看指定进程的日志

journalctl _PID=1

查看某个路径的脚本的日志

journalctl /usr/bin/bash

查看指定用户的日志

journalctl _UID=33 --since today

查看某个 Unit 的日志

journalctl -u nginx.service
journalctl -u nginx.service --since today

实时滚动显示某个 Unit 的最新日志

journalctl -u nginx.service -f

合并显示多个 Unit 的日志

journalctl -u nginx.service -u php-fpm.service --since today

查看指定优先级(及其以上级别)的日志,共有8级

0: emerg 1: alert 2: crit 3: err 4: warning 5: notice 6: info 7: debug
journalctl -p err -b

日志默认分页输出,--no-pager 改为正常的标准输出

journalctl --no-pager

以 JSON 格式(单行)输出

journalctl -b -u nginx.service -o json

以 JSON 格式(多行)输出,可读性更好

journalctl -b -u nginx.service -o json-pretty

显示日志占据的硬盘空间

$ sudo journalctl --disk-usage

指定日志文件占据的最大空间

$ sudo journalctl --vacuum-size=1G

指定日志文件保存多久

$ sudo journalctl --vacuum-time=1years

你可能感兴趣的:(systemd学习笔记)