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.service
systemctl stop sshd.service
systemctl 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 network
systemd提供了自己日誌系統(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伺服器分配。靜態主機名和...