使用systemd方式添加开机运行sh脚本

转载自:https://blog.csdn.net/qq570437459/article/details/87094870;做了部分修改

ubuntu18.04压根就没有rc.local,而且很多发行版都推荐使用systemd而不是initd了。
1.准备好你的sh脚本文件

内容略过,就假设路径是/usr/local/my/my.sh吧。别忘了chmod +x。
2.创建一个service文件

进入/etc/systemd/system/,创建一个my.service文件,内容如下:

[Unit]
Description=just for test                    这里填简介
After=BBB.service XXX.service  AAA.service   这里填上你这个脚本所需要的前置service,都在/etc/systemd/system/下【这一项可以不写】

[Service]
ExecStart=/usr/local/my/my.sh                  这里填sh文件路径,比如这里运行了这个my.sh,后面也可以跟运行my.sh的参数,比如 -D -I【这里也可以直接写命令,注意最好用""括起来,比如ExecStart="source /etc/environment"】                                                                                                                                  

[Install]
WantedBy=multi-user.target

3.完事

使用以下命令使能这个服务开机启动:

# 重新加载配置文件
$ sudo systemctl daemon-reload              service文件改动后要重新reload一下(类似刷新到缓存里)
$ sudo systemctl enable my.service          这句是为了设置开机启动

如果你想立刻启动这个服务从而执行里面的sh脚本,就运行下面这句:

# 重启相关服务
$ sudo systemctl start my.service           启动服务

关于service文件里的一些选项,在

    http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

猜你喜欢

转载自www.cnblogs.com/silentdoer/p/12766212.html