1.建立一個sh文件
tee /etc/init.d/myservice.sh <<EOF
#!/bin/sh
# 此腳本用于啟動和停止my_service服務。
start() {
echo "Starting my_service service..."
/usr/bin/my_service start
echo "my_service service started successfully."
}
stop() {
echo "Stopping my_service service..."
/usr/bin/my_service stop
echo "my_service service stopped successfully."
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
EOF
建好后賦予可執行權限 chmod +x myservice.sh
2. 配置開機啟動
在這個方法中,我們使用tee命令打開(如果它不存在則創建)/etc/rc.local文件,并在EOF標記后添加了"/etc/init.d/test"行。這會在系統啟動時運行腳本。最后,給這個文件添加執行權限。
方法一 創建rc.local (存在的話不用建)
tee /etc/rc.lcoal <<EOF
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#添加sh文件
/etc/init.d/test
exit 0
EOF
賦予執行權限 chmod + /etc/rc.locale
方法二 設置腳本開機時啟動 (建議用方法一)
在這個方法中,我們使用update-rc.d命令將腳本添加到默認的運行級別中。
如果您希望在系統開機時運行腳本,可以使用"update-rc.d test defaults"。
如果您希望禁止在系統開機時運行腳本,可以使用"update-rc.d -f test remove"。
update-rc.d test defaults
設置腳本開機時不啟動[可選]
update-rc.d -f test remove
3. 重啟測試運行是否開機啟動
如果您想測試腳本是否會在系統啟動時運行,可以重啟系統,并查看日志文件以查看腳本是否成功運行。
以上步驟可能會因不同的Linux發行版而略有不同。此外,設置開機啟動可能需要管理員權限。