編寫systemd服務,開機自啓

CentOS 7的服務systemctl腳本存放在:/usr/lib/systemd/,
有系統(system)和用戶(user)之分,像需要開機不登陸就能運行的程序,
還是存在系統服務裏吧,即:/usr/lib/systemd/system目錄下
每一個服務以.service結尾,一般會分爲3部分:[Unit]、[Service]和[Install]

編寫開機自啓服務,先創建一個腳本
root@21:52:29/opt # vim /opt/test.sh
root@21:53:11/opt # cat /opt/test.sh 
#!/bin/bash
bash /opt/myscript/httpd-time.sh
bash /opt/myscript/tomcat-time.sh
bash /opt/myscript/redis-time.sh
root@21:54:25~ # chmod -R +x /opt/myscript/
————————————————————————————————————————————————————————————————————————
然後把自己需要啓動的腳本放到/opt/myscript下(目錄可以自己設置)
root@21:56:57/opt/myscript # cat httpd-time.sh redis-time.sh tomcat-time.sh 
#!/bin/bash
date >> /opt/httpdtime
#!/bin/bash
date >> /opt/redistime
#!/bin/bash
date >> /opt/tomcatime
————————————————————————————————————————————————————————————————————————
接下來進入到/usr/lib/systemd/system目錄下,編寫xxx.service
root@21:58:00~ # cd /usr/lib/systemd/system
root@21:58:10/usr/lib/systemd/system # vim test-time.service
[Unit]
Description=test date-time script
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/opt/test.sh
#ExecReload=edit command
#ExecStop=edit command
#PrivateTmp=true

[Install]
WantedBy=multi-user.target
——————————————————————————————————————————————————————————————————
保存退出後執行
root@22:03:07~ # systemctl daemon-reload  #重新加載一下
root@22:03:14~ # systemctl start test-time.service  #開啓服務
root@22:03:24~ # systemctl enable test-time  #設置成開機自啓
Created symlink from /etc/systemd/system/multi-user.target.wants/test-time.service to /usr/lib/systemd/system/test-time.service.
root@22:03:33~ # systemctl is-enabled test-time  #檢查是否是開機自啓
enabled
root@22:03:44~ # reboot  #測試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章