systemd创建自定义服务(Ubuntu)

时间:2021-06-08 23:12:14

/lib/systemd/system下创建test.service文件

vim /lib/systemd/system/test.service

[Unit]

Description=test

[Service]

Type=forking

PIDFile=/run/test.pid

#EnvironmentFile=/etc/systemd/test.conf

ExecStart=/opt/systemd-sh/test.sh

ExecReload=/bin/kill -SIGHUP $MAINPID

ExecStop=/bin/kill -SIGINT $MAINPID

[Install]

WantedBy=multi-user.target graphical.target

修改配置文件后需要重加载配置

sudo systemctl daemon-reload

创建test.sh

vim /opt/systemd-sh/test.sh
#!/bin/bash

echo `date`,"ok" >>/tmp/test.log

赋予可执行权限

chmod +x /opt/systemd-sh/test.sh

设置开机启动

systemctl enable test.service

显示

Created symlink /etc/systemd/system/multi-user.target.wants/test.service → /lib/systemd/system/test.service.

重启

reboot

重启后,看下/tmp/test.log的内容

vim /opt/test.log

systemd集中式日志管理

查看该unit的日志

sudo journalctl -u test.service
sudo journalctl -u test.service --since="2018-11-11 11:11:11"
sudo journalctl -u test.service --since "30 min ago"
sudo journalctl -u test.service --since yesterday
sudo journalctl -u test.service --since "2018-11-10" --until "2018-11-11 11:11"
sudo journalctl -u test.service --since : --until "2 hour ago"