當前位置:首頁 » 編程軟體 » centos自啟動腳本

centos自啟動腳本

發布時間: 2023-02-21 03:15:44

『壹』 Linux服務開機自啟動三種方式,你覺得哪種最優雅

很多時候,我們需要將一些服務在Linux系統啟動時即自動運行,省得每次都要去手動啟動一遍,如Redis, MySQL, Nginx等。本文對CentOS與Ubuntu下開機自啟動的配置方法進行整理,供參考查閱。

rc.local是CentOS以前版本的方式,在CentOS7中仍然以兼容的形式存在,雖仍可用,但不推薦(推薦使用systemd service)。

1、編寫需要開機自啟動的腳本,並添加執行許可權

作為測試,上述腳本列印一個時間到/tmp/test.log文件中

2、在/etc/rc.d/rc.local配置文件中添加腳本運行命令(使用絕對路徑)

3、添加/etc/rc.d/rc.local文件的執行許可權

在centos7中,/etc/rc.d/rc.local沒有執行許可權,需要手動授權

以上三步,即可使/root/test_rclocal.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。

1、編寫需要開機自啟動的測試腳本,並添加執行許可權

2、在/etc/rc.d/init.d/目錄下添加一個可執行腳本testchkconfig

上述testchkconfig腳本的頭部必須遵循一定的格式 # chkconfig: 2345 90 10, 其中2345指定服務在哪些執行等級中開啟或關閉,90表示啟動的優先順序(0-100,越大優先順序越低),10表示關閉的優先順序。執行等級包括

3、加入開機啟動服務列表

使用 chkconfig --list 可查看當前加入開機自啟動的服務列表,但如Note部分所述,該命令只顯示SysV服務,不包含原生的systemd服務,查看systemd服務可使用systemctl list-unit-files命令。

以上三步,即可使/root/test_chkconfig.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。

chkconfig的其它命令參考

CentOS7的systemd服務腳本存放在:/usr/lib/systemd/system(系統級)/usr/lib/systemd/user(用戶級)下,以.service結尾。這里以nginx為例

1、在/usr/lib/systemd/system目錄下創建nginx.service文件

其中Service部分的Type包括如下幾種類型:

2、 開啟開機自啟動

以上兩步,就將nginx服務配置成了在操作系統啟動時自動啟動。

其它命令參考

從字面看是PID文件不可讀,查看/var/run/nginx.pid,該文件也確實不存在,查看nginx.conf配置文件,發現是pid /var/run/nginx.pid;這行配置被注釋掉了, 如果不指定pid文件位置,nginx默認會把pid文件保存在logs目錄中。所以出現systemd啟動服務時找不到pid文件而報錯,將nginx.conf中的pid配置注釋去掉,重啟nginx.service即可。

在Ubuntu18.04中,主要也是以systemd服務來實現開機自啟動,systemd默認讀取/etc/systemd/system/下的配置文件,該目錄下的一些文件會鏈接到/lib/systemd/system/下的文件。

因此可以在/etc/systemd/system/目錄下面創建一個自啟動服務配置,以內網穿透服務frp客戶端為例,如

各配置項與CentOS類似。然後將伺服器加到自啟動列表中並啟動服務

其它更多systemctl命令與CentOS類似。

也可以使用/lib/systemd/system/rc-local.service來執行一些開機需要執行的腳本,該文件內容為

從Description看它是為了兼容之前版本的/etc/rc.local的,該服務啟動命名就是/etc/rc.local start,將該文件鏈接到/etc/systemd/system下

創建/etc/rc.local文件,並賦予可執行許可權

作者:半路雨歌
鏈接:https://juejin.cn/post/6844904104515338248

『貳』 CentOS7 設置開機自啟動腳本

兩種實現方式:
方法一: (rc.local)
1、因為在 centos7 中 /etc/rc.d/rc.local 的許可權被降低了,所以需要賦予其可執行權

2、賦予腳本可執行許可權
假設 /usr/local/sca/start.sh 是你的腳本路徑,給予執行許可權

3、打開 /etc/rc.d/rc.local 文件,在末尾增加如下內容

方法二: (chkconfig)
1、將腳本移動到 /etc/rc.d/init.d 目錄下

2、增加腳本的可執行許可權

3、添加腳本到開機自動啟動項目中

chkconfig 啟動腳本規范 在腳本開頭加入下面內容:

注意:不添加以上內容的話添加啟動項時會提示service myservice does not support chkconfig
Linux啟動優先順序:

『叄』 求教關於Centos 7開機自動啟動腳本 問題

1. 自己新建一個腳本,如centnet-service.sh
經過後面的幾個步驟後,這個腳本在開機的時候會執行,在這個腳本裡面可以寫你開機的時候想執行的命令,如啟動tomcat,oracle等服務
2. 在腳本中輸入啟動服務的命令,如(開機啟動tomcat):
#!/bin/bashexport JDK_HOME=/home/java/jdk1.8.0_91export JAVA_HOME=/home/java/jdk1.8.0_91/home/tomcat/apache-tomcat-8.0.36/bin/startup.sh

3. 執行如下命令,將該腳本標記為可執行文件(添加可執行的許可權)
chmod +x /home/centnet/centnet-service.sh

4. 執行如下命令將/etc/rc.d/rc.local文標記為可執行文件
在centos7中,/etc/rc.d/rc.local文件的許可權被降低了,開機的時候執行在自己的腳本是不能起動一些服務的,執行下面的命令可以文件標記為可執行的文件

chmod +x /etc/rc.d/rc.local

5. 打開/etc/rc.d/rc.local文件,在最後面添加如下腳本
/home/centnet/centnet-service.sh

這樣,centnet-service.sh這個腳本在開機的時候就會被執行了,以後再這裡面寫啟動服務的命令就可以了

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:746
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1010
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:716
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:878
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1124
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:349
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:227
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:873