文档章节

Systemd 学习笔记

jim19770812
 jim19770812
发布于 2016/02/13 01:31
字数 706
阅读 210
收藏 22

这两天在配单机多redis实例,发现配好之后在ubuntu15.10上无法自启,看来用sysvinit的方式不灵了,顺便研究了一下systemd,发现这东西挺好使的,不但支持服务自启,还支持job,可以替换crontab

systemd.service

几个重要的路径 /usr/lib/systemd 这是system的服务单元,所有服务单元都放这里,下面有两个目录比较重要 system和user,这俩目录相当与原来的运行级别,system的级别高于user级别,如果开机自启就用system级别就可以

/usr/lib/systemd/ 下是systemd的服务单元
/etc/systemd/ 是systemd的配置,一般用不到

首先的i编写 unit,其中unit是system中的服务配置文件的叫法

下面是个unit的例子

[Unit]
Description=Redis persistent key-value database
After=network.target  #依赖network.target,如果有多个依赖,可以写多个After


[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no
ExecReload=/bin/kill -s HUP $MAINPID   #MAINPID是个变量,指向当前服务实例的进程ID
User=redis
Group=redis
Restart=always #如果被杀掉或进程退出就自动重启
RestartSec=5s #5秒检查一次

[Install]
WantedBy=multi-user.target   #安装到多用户模式

启动/关闭/重启服务

$ systemctl start redis #启动
$ systemctl stop redis #停止
$ systemctl restart redis #重启
$ systemctl reload redis #重新装入ntpd的配置

systemd状态

$ systemctl is-enabled redis #判断redis服务无是否是允许的
$ systemctl is-active redis #判断redis服务是否处于活动状态
$ systemctl enable redis.service #让redis开机自启
$ systemctl disable redis.service #让redis不开机自启

杀掉某个服务

$ systemctl kill redis.service

获取某个服务的配置

$ systemctl show redis

获取每个任务的启动耗时

$ systemd-analyze blame

获取任务之间的依赖关系

$ systemctl list-dependencies

systemd.timer

在/usr/lib/systemd/system下添加两个文件

xxxx.service,这是普通的service文件
xxxx.timer,这是定义计时器信息的计时器指令文件

首先需要用systemctl start xxx.service测一下service是否好使,然后用systemctl enable xxxx.timer来启用timer

每次修改了配置要重新载入配置,然后重启一下timer才能生效

OnCalendar=*-*-* *:*:00   #每分钟执行一次

查看systemd的日志

$ journalctl
$ journalctl -xe 查看最后的日志
$ journalctl -b  #查看最后的启动日志
$ journalctl /sbin/crond  #查看和crond相关的日志
$ journalctl -f #查看最后10条日志

添加服务的步骤

1.在/usr/lib/systemd/system下创建redis.service文件(开机自动执行,无界面模式也可以启动)
2. 加载配置
$ systemctl reload redis.service
3.设为自启动
$ systemctl enable redis.service
4.启动
重启或者执行
$ systemctl start redis.service

如果有异常,可以分析出错原因 $journalctl -xe 如果日志报和权限有关的错误,就考虑可能是SELinux的问题

© 著作权归作者所有

共有 人打赏支持
jim19770812
粉丝 21
博文 46
码字总数 27704
作品 0
济南
私信 提问
学习笔记 三: 用systemd管理服务

一 systemd基本知识 systemd再同一时间,启动 提高启动速度系统资源,系统服务,其它进程 自动服务依赖管理 systemctl -l help systemd基本管理unit Service unit .service A system service...

科技小能手
2017/11/12
0
0
转自Linux运维笔记 - systemd详解

systemd的特性有: 支持并行化任务 同时采用socket式与D-Bus总线式激活服务; 按需启动守护进程(daemon); 利用 Linux 的 cgroups 监视进程; 支持快照和系统恢复; 维护挂载点和自动挂载点...

erichd
2016/07/13
19
0
循序渐进的手动安装k8s笔记-3

在上一篇笔记中,我们已经可以使用 k8s1.6 版本搭建一个基础的集群,在集群内部可以完成不同 node 之间的 pod 互通并且可以完成服务发现。但已经完成的这个集群仍然是通过不安全的 8080 端口...

店家小二
2018/12/17
0
0
【2018.04.29学习笔记】【awk练习题】

awk练习题 test原文件内容: 1、用awk 打印整个test (以下操作都是用awk工具实现,针对test) 2、查找所有包含 ‘bash’ 的行 3、用 ‘:’ 作为分隔符,查找第三段等于0的行 4、用 ‘:’ 作...

lgsxp
2018/04/30
0
0
RH124-08 系统服务和守护进程管理

第八章 系统服务和守护进程管理 8.1 了解自启动系统服务 在RHEL7中,系统启动和服务进程都是有systemd管理.这个systemd负责在系统启动或系统运行过程中,激活系统资源,服务守护进程和其他进程....

myworldkwd
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vert.x系列(二)--EventBusImpl源码分析

前言:Vert.x 实现了2种完成不同的eventBus: EventBusImpl(A local event bus implementation)和 它的子类 ClusteredEventBus(An event bus implementation that clusters with other Ve......

冷基
59分钟前
1
0
Perl - 获取文件项目

参考:http://www.runoob.com/perl/perl-directories.html 下面返回JSON格式的文件列表 #!/usr/bin/perluse strict;use warnings;use utf8;use feature ':5.26';require Fi......

wffger
昨天
2
0
vue组件系列3、查询下载

直接源码,虽然样式样式不好看,逻辑也不是最优,但是可以留作纪念。毕竟以后类似的功能只需要优化就可以了,不用每次都重头开始。。。 <template> <div class="pre_upload"> <div ...

轻轻的往前走
昨天
2
0
java浅复制和深复制

之前写了数组的复制,所以这里继续总结一下浅复制和深复制。 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝。 深拷贝:对基本数据类型进行值传递,对引用数据类型,...

woshixin
昨天
2
0
kubernetes 二进制包安装

环境 角色 主机名 内网 IP 集群 IP 操作系统 服务 执行目录 部署机 k8s-master master120 10.0.4.120 - CentOS kube-apiserver kube-scheduler kube-controller-manager /opt/kubernetes/ et......

Colben
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部