systemctl
常用指令
systemctl 是 systemd 的主指令,控制所有 service,如:
- systemctl start nginx
- systemctl reload nginx
最佳實踐
自定義 service
- 在 /lib/systemd/system/ 下建立自定義的 service: example.service。
- 通過 systemctl daemon-reload 加載新增的配置檔案。
- 通過 systemctl enable example.service 将新增的配置檔案映射到 /etc/systemd/system 目錄。
- 通過 systemctl start examples.service 啟動。
以 node exporter 為例:
sudo touch /lib/systemd/system/node_exporter.service
sudo cat <<EOF >/lib/systemd/system/node_exporter.service
[Unit]
Description=Node exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
# 開機自啟
sudo systemctl enable node_exporter
# 啟動
sudo systemctl start node_exporter
journalctl
journalctl 是 systemd 的日志指令,如:
- 指定主題: journalctl -u caddy
- tail 功能: journalctl -f caddy