linux开机自动执行脚本、运行程序
文章目錄
- 用途、大致步驟
- 一、創建腳本
- 1、autoStart.sh 放到/etc/rc.d/init.d文件夾中、權限賦值777或者755都行
- 2、other.sh可以放在系統中的任何位置、權限777或者755
- 二、把autoStart.sh注冊到開機啟動里面
- 1、autoStart.sh腳本放到/etc/rc.d/init.d文件夾中后執行命令;注意:先放腳本在執行命令
- 2、執行完畢可執行下面命令查看是否添加上了
- 3、重啟系統,查看你自己的腳本是否被執行
- 三、相關說明
- 1、為什么要導入環境變量`. /etc/profile`
- 2、切換到當前腳本路徑`CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH`
- 3、chkconfig命令
- 4、取消注冊開機自啟
- 5、推薦autoStart.sh中不要寫過多的代碼
- 四、總結
用途、大致步驟
測試環境centos7
用途:linux開機自動執行腳本,啟動java程序。
步驟:
1、在/etc/rc.d/init.d文件夾中創一個開機能夠執行的腳本autoStart.sh
2、在autoStart.sh腳本中添加想要執行的代碼或者調用自定義的腳本other.sh
一、創建腳本
1、autoStart.sh 放到/etc/rc.d/init.d文件夾中、權限賦值777或者755都行
#! /bin/sh # chkconfig: 345 99 10case "$1" instart)# 這里放自定義執行腳本或者代碼,推薦把需要執行的代碼放到其它地方去,這里只做調用腳本的操作;# 這段做測試使用,開機啟動后會在/root目錄創建一個autostart.log文件,則證明生效了echo $(date "+%Y-%m-%d %H:%M:%S") >> /root/autostart.log#sudo bash /opt/other.sh #我這里是調用其它地方的腳本,方便隔離開,后面有其它想開機自啟的在這里加執行命令就可以了;# 這里放自定義執行的代碼或者邏輯;;*);; esac exit 02、other.sh可以放在系統中的任何位置、權限777或者755
這里面就是存放的你自己需要執行的代碼了,下面只做示例使用,我的是放在/opt/目錄下;
#! /bin/bash # 導入環境變量;注意:不能少、不能少、不能少 . /etc/profile # 重要:切換到當前腳本的路徑下 CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH# 下面就是你自己需要執行的具體命令了:我的是啟動java程序 # nohup java -jar /opt/self-server.jar二、把autoStart.sh注冊到開機啟動里面
1、autoStart.sh腳本放到/etc/rc.d/init.d文件夾中后執行命令;注意:先放腳本在執行命令
chkconfig --add autoStart.sh2、執行完畢可執行下面命令查看是否添加上了
chkconfig --list3、重啟系統,查看你自己的腳本是否被執行
sudo reboot三、相關說明
1、為什么要導入環境變量. /etc/profile
開始時候我并沒有發現需要寫這段代碼,然后執行到other.sh腳本總是不成功,查看日志時候提示找不到java命令,正常情況下手動執行other.sh是沒有任何問題的,但是自動啟動時候就會提示找不到java命令,反正翻越了一些文章,大概說的是系統啟動過程中執行先后順序的問題,在執行autoStart.sh時候,環境變量還沒有加載進來,所以在環境變量中配置的那些命令就可能使用不了,需要在執行代碼前手動導入一下;
注意:. /etc/profile 符號點和/etc/profile之前是有個空格的,不要忽略或者刪掉;
參考文章:linux 系統腳本 環境變量 的啟動順序
2、切換到當前腳本路徑CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH
因為autoStart.sh是在/etc/rc.d/init.d目錄下,如果是調用other.sh,那么other.sh的路徑也變相于是在/etc/rc.d/init.d目錄下,所以在other.sh中使用相對路徑的話,會提示找不到各種文件、文件夾;
3、chkconfig命令
參考文章:Linux chkconfig命令
4、取消注冊開機自啟
chkconfig --del autoStart.sh5、推薦autoStart.sh中不要寫過多的代碼
autoStart.sh里面推薦只寫調用其它腳本的代碼,這樣的話便于維護,后續如果有其它需要開機自動執行或者想取消的,只需要在里面添加、刪除調用命令就可以了,不需要再來搞一遍上述操作;
四、總結
1、打開冰箱;
2、把大象塞進去;
總結
以上是生活随笔為你收集整理的linux开机自动执行脚本、运行程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt Creator启动慢的解决方法
- 下一篇: Opencvchina网站:把证件照蓝色