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