前言:其实很简单,全网的资料实在坑太多(无语),有一篇还不错,我大多数借鉴这篇
https://cloud.tencent.com/developer/article/1803805
,但直接用貌似也不通,这边记录了我的实测可跑通版本。
文章目录
- 一、步骤流程
- 1. 创建服务
- 2. 在以上路径`/PATH/TO/your_file.sh`创建你的shell文件
- 3. 加文件的执行权限
- 4. 一系列生效语句
- 5. 测试
- 6. 重启
- 二、问题记录
一、步骤流程
直接上步骤,分以下几步:
1. 创建服务
sudo权限创建服务:
sudo vim /etc/systemd/system/你的服务名称.service
具体内容:
[Unit]
Description=XXX Service
[Service]
User=你的用户名(这里不能随意取,是你登入系统的用户名)
ExecStart=/PATH/TO/your_file.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
:wq
保存
2. 在以上路径/PATH/TO/your_file.sh
创建你的shell文件
内容为:
#!/bin/bash
echo 'before exec' > ~/test.sh.log
你的命令(注意不用后面加&挂起,直接执行就好)
echo 'after exec' > ~/test.sh.log
前后是我加的测试语句,加了的话先创建文件,实际也可以去掉。
3. 加文件的执行权限
chmod 777 /PATH/TO/your_file.sh
4. 一系列生效语句
注意:这里都要用sudo
sudo systemctl daemon-reload
sudo systemctl enable 你的服务名称
sudo systemctl start 你的服务名称
5. 测试
sudo systemctl status 你的服务名称
注意:这一步没有报错,如果有报错,那要特别注意,就是有问题的。
示例如下:
6. 重启
最后重启即可:
sudo reboot
二、问题记录
- 问题一:“service start-limit-hit”
其中/etc/systemd/system/你的服务名称.service
文件中的内容,检查一下这项Restart=on-failure
,我之前是Always
就出现这个问题了。
基本按这个步骤来执行,不会有问题,一步一步来,不要着急。
Enjoy~