1、编写脚本
$ sudo vim /opt/hello.sh
脚本内容:
#!/bin/bash while true do #打印hello world ,sleep 1 是每隔一秒打印一次 echo hello world >> /tmp/hello.log #打印当前系统时间 echo $(date +%Y%m%d-%H%M%S) sleep 1 done
2、赋予hello.sh 执行权限
$sudo chmod 0755 /opt/hello.sh
3、创建Unit定义文件
在/etc/systemd/system 下
$sudo vim /etc/systemd/system/hello.service
hello.service 内容如下:
[Unit] Description = hello daemon [Service] ExecStart = /opt/hello.sh Restart = always Type = simple [Install] WantedBy = multi-user.target
Unit中一般分三个部分【Unit/Service/Install】
Unit中主要是对服务的说明,里面有两个参数:Description(用于描述服务),After(用于描述服务启动的依赖);
Sevice中主要是设置运行参数,里面参数的意思:ExecStart (服务的具体运行命令),Restart = always(进程时服务意外故障的时候可以自动重启的模式),Type = simple(表示其余选项均为系统默认);
Install中主要是服务安装的相关设置。
4、把Unit添加进Service
$sudo systemctl list-unit-files --type=service |grep hello
list-unit-files --type 是列出所有启动文件
正常会输出:
hello.service disabled
5、启动服务
$sudo systemctl enable hello # 开机自动启动on
此时参数中的enable换成disable就是禁止开启自动启动
$sudo systemctl start hello # 单次开机启动
此时参数中的start换成stop就是停止服务
$sudo systemctl status hello #运行状态确认
6、看脚本运行是否正常
$tailf /tmp/hello.log
tailf是跟踪日志文件
7、重启机器
再次查看第6步的log文件,如果能正常输出,就是成功了
$sudo reboot #重启