linux12shell编程 --> systemctl管理脚本

本文介绍Systemd服务管理的基础知识,包括脚本存放位置、不同类型的Unit文件及其配置项详解。并通过实例演示如何创建并配置Nginx服务。

systemctl管理脚本

一 、介绍
1、systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分
/usr/lib/systemd/system #系统服务,开机不需要登陆就能运行的程序(相当于开启自启)
/usr/lib/systemd/user  #用户服务,需要登录后才能运行的程序

2、/usr/lib/systemd/目录下又存在两种类型的文件
- 1、*.service # 服务unit文件
- 2、*.target # 开机级别unit
3、CentOS 7服务结尾的三个部分
centos7 的每一个服务以。service 结尾,一般分为3部分:【unit】、【service】、【install】
[Unit]   # 主要是服务说明
Description=test   # 简单描述服务
After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动
Before=xxx.service #表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。

[Service]  # 核心区域
Type=forking     # 表示后台运行模式。
User=user        # 设置服务运行的用户
Group=user       # 设置服务运行的用户组
KillMode=control-group   # 定义systemd如何停止服务
PIDFile=/usr/local/prometheus/prometheus.pid    # 存放PID的绝对路径
Restart=no        # 定义服务进程退出后,systemd的重启方式,默认是不重启
ExecStart=/usr/local/t/prometheus/prometheus    # 服务启动命令,命令需要绝对路径
PrivateTmp=true                               # 表示给服务分配独立的临时空间

[Install]   
WantedBy=multi-user.target  # 多用户
二、字段详细说明
1、Type类型有:
simple(默认):#以Execstart字段启动的进程为主进程

forking:#Execstart 字段以fox()方式启动,,此时父进程将退出,子进程将成为主进程(后台运行),一般都设置为forking

oneshot : #类似于simple,但只执行一次,systemd会等他执行完,才执行其他服务

dbus: #类似于simple,但会等待D—Bus信号后启动

notify: #类似与simple ,但结束后会发出通知信号,然后systemd才启动其他服务

idle: #类似与simple,但要等到其他任务都执行完,才启动该服务
2、EnvironmentFile:指定配置文件,和连词号组合使用,可以避免配置文件不存在的异常。
Environment:
后面接多个不同的s
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FikL919

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值