Systemd 学习笔记

这两天在配单机多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的问题

转载于:https://my.oschina.net/jim19770812/blog/614615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值