# 場景
寫了個有趣的指令碼start.sh,需求是開機後自啟,最好還可以定義多久自啟。
環境:linux ubuntu20.04
指令碼目錄:/home/bear/start.sh
# method 1 - 使用 crontab
最為簡單的方式:建立乙個 cron 任務,這個任務在系統啟動後等待 5秒,然後執行命令和指令碼。
$ crontab -e
@reboot ( sleep5; sh /home/bear/start.sh )
# method 2 - 使用 rc.local
這種方法會利用/etc/
中的rc.local
檔案來在啟動時執行指令碼與命令。
不過我們首先需要為/etc/rc.local
新增執行許可權:
$ sudochmod +x /etc/rc.local
然後將要執行的指令碼加入其中:
$ sudovim /etc/rc.local
在檔案最後加上:
sh /home/bear/start.sh &
注意:- 啟動時執行的指令碼,請一定保證是以exit 0
結尾的。
# method 3 - 使用 .bashrc
無desktop的環境時,如tty shell用這個就很舒服
# auto runif [ $(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-reloadsudo 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...