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