Linux開機自啟指令碼與配置

2022-07-18 05:00:14 字數 1423 閱讀 3952

# 場景

寫了個有趣的指令碼start.sh,需求是開機後自啟,最好還可以定義多久自啟。

環境:linux ubuntu20.04

指令碼目錄:/home/bear/start.sh

# method 1 - 使用 crontab

最為簡單的方式:建立乙個 cron 任務,這個任務在系統啟動後等待 5秒,然後執行命令和指令碼。

$ crontab -e

@reboot ( sleep

5; sh /home/bear/start.sh )

# method 2 - 使用 rc.local

這種方法會利用/etc/中的rc.local檔案來在啟動時執行指令碼與命令。

不過我們首先需要為/etc/rc.local新增執行許可權:

$ sudo

chmod +x /etc/rc.local

然後將要執行的指令碼加入其中:

$ sudo

vim /etc/rc.local

在檔案最後加上:

sh /home/bear/start.sh &

注意:- 啟動時執行的指令碼,請一定保證是以exit 0結尾的。

# method 3 - 使用 .bashrc

無desktop的環境時,如tty shell用這個就很舒服

# auto run

if [ $(ps -ef|grep xorg|grep -v grep|wc -l) -eq 0 ]; then

while

true; do

./start.sh

if [ something ]; then

break

fidone

fi

補充:只用tty來玩的環境下,用systemd配置使用者開機自動登入系統,以下為tty1配置:

autologin edit:

sudo systemctl edit getty@tty1

copy and reboot:

[service]

execstart=execstart=-/sbin/agetty --autologin [user] --noclear %i screen-256color

restart:

sudo systemctl daemon-reload

sudo systemctl start [email protected]

補充參考資料:

linux設定開機自啟指令碼

系統初始化完成後會執行初始化指令碼 rc.local,想要實現開機自動啟動某個功能,可以在這個指令碼增加些執行命令。rc.local rc.sysinit,一般為路徑為 etc rc.d rc.local或 etc rc.d rc.sysinit 可以直接在指令碼退出之前執行某個指令碼或執行某個sh...

通過shell指令碼實現linux開機自啟動

1.windows格式轉化 windows編輯下的sh指令碼直接放在linux伺服器會出現格式轉換問題,所以需要轉換一下格式 轉換後執行就沒有問題了 windows格式轉換linux格式 命令 sed i s r test.sh 2.linux定時指令碼配置 command 分 時 日 月 周 命令...

Linux 開機自啟服務

需求 需要在linux啟動的時候開啟某些服務 比如說 開啟 zookeeper hdfs yarn服務 注意 因為這些服務需要用到ssh通訊所以要保證 ssh服務先啟動,並且網路服務啟動 方法一 非最終解決方法 在 etc rc.local中新增 如果不想將指令碼粘來粘去,或建立鏈結什麼的,則 st...