CentOS7主機使用systemctl管理及配置

2021-09-19 07:39:03 字數 2600 閱讀 3094

systemd的配置檔案主要放在/usr/lib/systemd/system目錄,也可能在/etc/systemd/system目錄。

現在來看乙個系統的配置檔案來學習一下:

$cat sshd.service

[unit]

description=openssh server daemon

documentation=man:sshd(8) man:sshd_config(5)

after=network.target sshd-keygen.service

wants=sshd-keygen.service

[service]

type=forking

pidfile=/var/run/sshd.pid

environmentfile=/etc/sysconfig/sshd

execstart=/usr/sbin/sshd $options

execreload=/bin/kill -hup $mainpid

killmode=process

restart=on-failure

restartsec=42s

[install]

wantedby=multi-user.target

這個是我們常用的sshd的配置檔案內容,下邊簡單解釋一下,以幫助理解。

[service] 區塊:啟動行為

[install] 區塊:定義如何安裝這個配置檔案,即怎樣做到開機啟動。

掌握上邊的一些資訊之後,就可以自定義一些配置來管理系統當中的一些應用了。

比如我個人日常寫筆記用的工具就是自己搭建的mindoc,日常使用都是通過命令列進行啟動的。

日常管理是這樣式兒的:

/opt/doc-wiki/mindoc_linux_amd64 &

現在新增配置通過systemd來管理:

vim /usr/lib/systemd/system/mindoc.service

新增如下配置:

[unit]

description=mindoc

after=network.target

[service]

type=******

execstart=/opt/doc-wiki/mindoc_linux_amd64

restart=on-failure

[install]

wantedby=multi-user.target

儲存之後,先載入一下。

檢視和控制systemd的主要命令是systemctl。該命令可用於檢視系統狀態和管理系統及服務。

$ systemctl daemon-reload
然後啟動驗證:

$ systemctl start mindoc
加入自啟動:

$systemctl enable mindoc
systemctl 或 systemctl list-units

systemctl --type=service

systemctl is-active sshd

systemctl start sshd.servicesystemctl stop sshd.servicesystemctl restart sshd.service

systemctl reload sshd.service

systemctl list-units --type=service

systemctl list-units --type=service --all

systemctl list-unit-files --type=service

systemctl list-dependencies sshd

systemctl is-enabled sshd

systemctl disable network

systemctl enable networksystemd提供了自己日誌系統(logging system),稱為 journal. 使用 systemd 日誌,無需額外安裝日誌服務(syslog)。讀取日誌的命令:

journalctl

journalctl -b

journalctl -k

journalctl -u sshd

journalctl _pid=1

journalctl --disk-usage

journalctl --vacuum-size=500m

centos7編寫開啟自啟動服務systemd

centos7開機第乙個程式從init完全換成了systemd這種啟動方式,同centos 5 6已經是實質差別。systemd是靠管理unit的方式來控制開機服務,開機級別等功能。在 usr lib systemd system目錄下包含了各種unit檔案,有service字尾的服務unit,有t...

CentOS7修改主機名

在centos或rhel中,有三種定義的主機名 a 靜態的 static b 瞬態的 transient 以及 c 靈活的 pretty 靜態 主機名也稱為核心主機名,是系統在啟動時從 etc hostname自動初始化的主機名。瞬態 主機名是在系統執行時臨時分配的主機名,例如,通過dhcp或mdn...

Centos7修改主機名

在centos中,有三種定義的主機名 靜態的 static 瞬態的 transient 和靈活的 pretty 靜態 主機名也稱為核心主機名,是系統在啟動時從 etc hostname自動初始化的主機名。瞬態 主機名是在系統執行時臨時分配的主機名,例如,通過dhcp或mdns伺服器分配。靜態主機名和...