Debian中注册自定义服务

编辑自定义的.service文件

/etc/systemd/system/ 目录下创建自定义的.service文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=sun-panel # 服务描述
After=syslog.target
After=network.target # 等待网络启动之后再启动此服务

[Service]
RestartSec=3s # 失败后等待 3 秒再尝试重启
Type=simple
User=root # 以指定的用户身份运行服务
Group=root
ExecStart=/root/sun-panel/sun-panel # 启动命令
WorkingDirectory=/root/sun-panel # 启动程序所在目录
Restart=always
Environment=USER=root HOME=/root/

[Install]
WantedBy=multi-user.target

注册服务

在系统中注册你的服务,这样系统每次开机都会自动启动你的服务,并且可以通过service命令来启动、停止和查看你的服务

1
systemctl enable your-service-name.service

启动服务

1
2
systemctl start your-service # 两种都可以
service your-service start

监听配置文件

当需要频繁修改配置文件时,每次手动重启麻烦,可以添加自动监听配置文件,修改之后自动重启

  1. 修改或创建 .path 文件 /etc/systemd/system/fancontrol-monitor.path

    1
    2
    3
    4
    5
    6
    7
    8
    [Unit]
    Description=Monitor fancontrol config file for changes

    [Path]
    PathModified=/etc/fancontrol

    [Install]
    WantedBy=multi-user.target
  2. 修改或创建 .service 文件 /etc/systemd/system/fancontrol-monitor.service

    注意要和.path的文件名保持一致

    1
    2
    3
    4
    5
    6
    [Unit]
    Description=Restart fancontrol service on config change

    [Service]
    Type=oneshot
    ExecStart=/bin/systemctl restart fancontrol
  3. 启用并启动 .path 文件

    确保 .path 文件和 .service 文件名称匹配,然后执行以下命令:

    1
    2
    3
    systemctl daemon-reload
    systemctl enable fancontrol-config-monitor.path
    systemctl start fancontrol-config-monitor.path

这样,当 /etc/fancontrol 文件修改时,fancontrol 服务将自动重启。