一、運用設置服務的方法進行(Ubuntu server 18.0.4)
1.建立啟動文件
$ sudo touch /etc/systemd/system/startup.service
2.寫入啟動文件內容
[Unit]
Description=/etc/startup Compatibility
ConditionPathExists=/etc/startup
[Service]
Type=forking
ExecStart=/etc/startup start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=88
[Install]
WantedBy=multi-user.target
3.創建指定的啟動腳本并賦權測試
# cat << eof > /etc/startup
#!/bin/bash
echo `date +%Y-%M-%S` >> /tmp/out
eof
$ chmod +x /etc/startup
4.設置啟動默認自定義啟動服務并測試
$ systemctl enable startup.service
# systemctl start startup.service
5.終極的的重啟檢查
$ cat /tmp/out
# cat /tmp/out
2019-26-00
2019-26-00
二、使用update-rc.d
添加啟動
1.首先編寫好你的腳本文件,并賦權
# cat alex_startup
# chmod +x alex_startup
# cat alex
#!/bin/bash
#alex' test start bash
echo "## /etc/init.d/alex-update-rc.d" >> /tmp/out
/bin/date +%D-%H-%M-%S >> /tmp/out
2.把腳本放入 /etc/init.d/
中,否者update-rc.d
無法引入
# ln -s /home.alex/alex /etc/init.d/alex_startup
3.添加啟動鏈接
# update-rc.d alex_startup defaults
PS:
①直接輸入update-rc.d
# update-rc.d
update-rc.d: error: not enough arguments
usage: update-rc.d [-f] <basename> remove
update-rc.d [-f] <basename> defaults
update-rc.d [-f] <basename> defaults-disabled
update-rc.d <basename> disable|enable [S|2|3|4|5]
-f: force
The disable|enable API is not stable and might change in the future.
②安裝sysv-rc-conf
軟件查看開機啟動項目,但是發現如果刪去該腳本,也不能在該查詢中移除,這個目前沒有發現解決方法
# apt-get install sysv-rc-conf
#如果顯示不能安裝該命令,在源中添加 trusty字段即可
如:deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
三.普通腳本建立方式就是在指定的啟動目錄/etc/rc?/local
中創建規定的鏈接名即可
# cat /etc/init.d/startup
#!/bin/bash
echo start test >> /tmp/out
# chmod +x startup
ln -s /etc/init.d/start /etc/rc5.d/S08start
PS:
自定義的腳本必須要在/etc/init.d
目錄中有,軟連接名S表示開機啟動,K表示不啟動,08表示啟動優先級別
References:
ubuntu-18.04 設置開機啟動腳本
Linux中設置服務自啟動的三種方式