linux設定開機自啟指令碼

2021-08-30 02:39:22 字數 1660 閱讀 4711

系統初始化完成後會執行初始化指令碼 rc.local,想要實現開機自動啟動某個功能,可以在這個指令碼增加些執行命令。

rc.local/rc.sysinit,一般為路徑為/etc/rc.d/rc.local或/etc/rc.d/rc.sysinit

可以直接在指令碼退出之前執行某個指令碼或執行某個shell命令

通過update-rc.d *** defaults nn命令(nn為啟動順序) 命令將***指令碼放到初始化執行的佇列中去,以實現自啟。nn代表的是初始化優先順序,如果指令碼需要用到網路等延遲服務,nn需設定乙個比較大的數字,如90,保證指令碼啟動前所依賴服務已經啟動。

與這個命令配合使用的是sudo update-rc.d *** remove,是把***指令碼或功能移除初始化佇列

開發的某個新程式***,如果實現 /etc/int.d/*** start|stop|restart 指令碼控制開關,會方便平時的管理和開機啟動。

這裡對這個指令碼常用實現方法簡單總結下:

1.將可執行程式***放到/usr/local/bin目錄(並修改執行許可權)

sudo mv *** /usr/local/bin/***

sudo chmod +x /usr/local/bin/***

2.在/etc/int.d/目錄下編寫***的控制指令碼,複製如下指令碼即可

#!/bin/sh -e

name=***

daemon=/usr/local/bin/$name

pidfile=/var/run/$name.pid

[ -x "$daemon" ] || exit 0

case "$1" in

start)

if [ -f $pidfile ]; then

echo "$name already running..."

echo -e "\033[1;35mstart fail\033[0m"

else

echo "starting $name..."

start-stop-daemon -s -p $pidfile -m -b -o -q -x $daemon -- param || return 2

echo -e "\033[1;32mstart success\033[0m"

fi;;

stop)

echo "stoping $name..."

start-stop-daemon -k -p $pidfile -s term -o -q || return 2

rm -rf $pidfile

echo -e "\033[1;32mstop success\033[0m"

;;restart)

$0 stop && sleep 2 && $0 start

;;*)

echo "usage: $0 "

exit 1

;;esac

exit 0

需要將name改變成程式的名稱,param是程式執行需要的引數,沒有引數可以刪除調param

完成上面兩步之後即可通過/etc/int.d/*** start|stop|restart 命令控制功能開關

Linux 設定開機自啟

忘記 的 的。方法 1 這種方法會利用 etc 中的 rc.local 檔案來在啟動時執行指令碼與命令。我們在檔案中加上一行來執行指令碼,這樣每次啟動系統時,都會執行該指令碼。不過我們首先需要為 etc rc.local 新增執行許可權,sudo chmod x etc rc.local 然後將要執...

Linux開機自啟指令碼與配置

場景 寫了個有趣的指令碼start.sh,需求是開機後自啟,最好還可以定義多久自啟。環境 linux ubuntu20.04 指令碼目錄 home bear start.sh method 1 使用 crontab 最為簡單的方式 建立乙個 cron 任務,這個任務在系統啟動後等待 5秒,然後執行命...

redis設定開機自啟

開機自啟動redis 其他服務類似 centos 7以上是用systemd進行系統初始化的,systemd 是 linux 系統中最新的初始化系統 init 它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啟動速度。systemd服務檔案以.service結尾,比如現在要建立redi...