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,后面也可以跟参数,比如 -D -I
[Install]
WantedBy=multi-user.target
3.启动服务
使用以下命令使能这个服务开机启动:
# 重新加载配置文件
$ sudo systemctl daemon-reload service文件改动后要重新转载一下
$ sudo systemctl enable my.service 这句是为了设置开机启动
关于service文件里的一些选项,在这里有详细的说明。
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
最后附上阿里云服务的配置作为参考:
[Unit]
Description=aliyun-assist
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/sbin/aliyun-service
KillMode=process
Restart=on-failure
RestartSec=1min
[Install]
WantedBy=multi-user.target