Ads 468x60px

##EasyReadMore##

26 7月, 2016

將 script 加入 systemd 的服務中

本來開機啟動的 script 加在 /etc/rc.local 裡就好了
但因為啟用 /etc/rc.local 的服務擺在很前面
導至 script 中的引用的服務還沒被啟動
所以產生錯誤

所以正確做法應該是把這隻 script 加成一個服務
其順序在要引用的服務後面

作法:

首先 script 要加上一個回圈
不然會執行完就結束了
不會存在記憶體

while true; do
 echo "ECS service still here"
 sleep 30
done

vi /lib/systemd/system/ecsiot.service

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=ECS IoT Sevices
After=network.target nginx.service mosquitto.service

[Service]
Type=simple
ExecStart=/bin/bash -c '/opt/agent/exe/start_CES.sh'

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
#重新讀取設定

systemctl enable ecsiot.service
#使開機使可以自動啟動

systemctl restart ecsiot.service
#重新啟動剛寫好的服務

systemctl status ecsiot.service
#查看運是否有被啟動

cat /var/log/daemon.log | tail -n 20
#重開機後看看最後20筆有沒有你要啟動的服務

參考:
鳥哥的 Linux 私房菜 -- 第十七章、認識系統服務 (daemons) - http://goo.gl/HPyJwj

0 意見:

張貼留言

 
Blogger Templates