當前位置:首頁 » 操作系統 » linux開機啟動設置

linux開機啟動設置

發布時間: 2023-09-06 21:22:36

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

② Linux配置開機自啟動執行腳本有哪些方法

設置test.sh為開機要啟動的腳本
[root@oldboy scripts]# vim /server/scripts/test.sh
[root@oldboy scripts]# cat /server/scripts/ test.sh
#!/bin/bash
/bin/echo $(/bin/date +%F_%T) >> /tmp/ test.log
方法一:修改/etc/rc.local
[root@oldboy ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local -> rc.d/rc.local
修改/etc/rc.local文件
[root@oldboy scripts]# tail -n 1 /etc/rc.local
/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
方法二:chkconfig管理
刪除掉方法一的配置
[root@oldboy ~]# vim /etc/init.d/test
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /server/scripts/test.sh >臘敏/dev/null 2>/dev/null
[root@oldboy ~]# chmod +x /etc/init.d/test
添加到chkconfig,開機自啟動
[root@oldboy ~]# chkconfig --add test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:on 4:off 5:off 6:off
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
2018-03-30_12:33:20
操作成功
關閉開機啟動
[root@oldboy ~]# chkconfig test off
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
從chkconfig管理中刪攜局神除辯虧test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@oldboy ~]# chkconfig --del test
[root@oldboy ~]# chkconfig --list test
service test supports chkconfig, but is not referenced in any runlevel (run
'chkconfig --add test')

③ 如何在Linux中設置開機自動啟動oracle

對於LINUX 操作系統 有很多技術知識是我們需要學習的。這里我就給大家介紹Linux中設置oracle開機自動啟動的 方法 。一起來看看吧。

Linux中設置oracle開機自動啟動的方法

在terminal中切換到root用戶

查看/etc/oratab文件的內容,其內容如下

[root@golonglee ~]# cat /etc/oratab | grep -v ^$

#

# This file is used by ORACLE utilities. It is created by root.sh

# and updated by the Database Configuration Assistant when creating

# a database.

# A colon, ':', is used as the field terminator. A new line terminates

# the entry. Lines beginning with a pound sign, '#', are comments.

#

# Entries are of the form:

# $ORACLE_SID:$ORACLE_HOME::

#

# The first and second fields are the system identifier and home

# directory of the database respectively. The third filed indicates

# to the dbstart utility that the database should , "Y", or should not,

# "N", be brought up at system boot time.

#

# Multiple entries with the same $ORACLE_SID are not allowed.

#

#

oel63:/home/oracle/app/oracle/proct/11.2.0/dbhome_1:N

使用命令vi /etc/oratab編輯文件/etc/oratab,在最後添加如下內容

##### what I have written is as following

oel63:/home/oracle/app/oracle/proct/11.2.0/dbhome_1:Y

#####Finished wrote in 2015-12-24

說明:/home/oracle/app/oracle/proct/11.2.0/dbhome_1為oracle的安裝目錄,要根據實際情況進行修改。

(注意:圖中我用紅色標記的N要改成Y)

找到最後的內容

oel63:/home/oracle/app/oracle/proct/11.2.0/dbhome_1:N

復制該行oel63:/home/oracle/app/oracle/proct/11.2.0/dbhome_1:N並注釋掉

粘貼該行,並將該行

oel63:/home/oracle/app/oracle/proct/11.2.0/dbhome_1:N最後的N

改為Y

最後按2次ESC鍵,並輸入:wq並按下enter保存,退出

使用命令vi /etc/rc.d/rc.local編輯rc.local文件,添加如下內容

##### what I have written is as following

su oracle -lc "/home/oracle/app/oracle/proct/11.2.0/dbhome_1/bin/lsnrctl start"

su oracle -lc /home/oracle/app/oracle/proct/11.2.0/dbhome_1/bin/dbstart

#####Finished wrote in 2015-12-24

說明:因為第一行命令中有空格所以用雙引號(英文的雙引號)

/home/oracle/app/oracle/proct/11.2.0/dbhome_1為oracle的安裝目錄,要根據實際情況進行修改。

最後按2次ESC鍵,並輸入:wq並按下enter保存,退出,重啟機器,驗證成功。

是不是很簡單呢~快跟著我一起學習吧!!!如果覺得這篇 文章 不錯的話就給我點一個贊吧。

④ Linux Ubuntu 20.04 —添加開機啟動(服務/腳本)

本文章向大家介紹Linux Ubuntu 20.04 —添加開機啟動(服務/腳本),主要包括Linux Ubuntu 20.04 —添加開機啟動(服務/腳本)使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
系統啟動時需要載入的配置文件

一、修改開機啟動文件:/etc/rc.local(或者/etc/rc.d/rc.local)

二、自己寫一個shell腳本
將寫好的腳本(.sh文件)放到目錄 /etc/profile.d/ 下,系統啟動後就會自動執行該目錄下的所有shell腳本。
三、通過chkconfig命令設置

四、自定義服務文件,添加到系統服務,通過Systemctl管理
1.寫服務文件:如nginx.service、redis.service、supervisord.service

2.文件保存在目錄下:以754的許可權。目錄路徑:/usr/lib/systemd/system。如上面的supervisord.service文件放在這個目錄下面。

3.設置開機自啟動(任意目錄下執行)。如果執行啟動命令報錯,則執行:systemctl daemon-reload

4.其他命令

5.服務文件示例:

⑤ linux設置開機自啟動腳本的最佳方式

最簡單粗暴的方式直接在腳本 /etc/rc.d/rc.local (和 /etc/rc.local 是同一個文件,軟鏈)末尾添加自己的 腳本
然後,增加腳本執行許可權

第二種方式是在crontab中設置

也可以設置每次登錄自動執行腳本,在 /etc/profile.d/ 目錄下新建sh腳本,
/etc/profile 會遍歷 /etc/profile.d/*.sh

另外,幾個腳本的區別:
(1) /etc/profile: 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置。

(2) /etc/bashrc: 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取(即每次新開一個終端,都會執行bashrc)。

(3) ~/.bash_profile: 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。默認情況下,設置一些環境變數,執行用戶的.bashrc文件。

(4) ~/.bashrc: 該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。

(5) ~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該文件. 另外,/etc/profile中設定的變數(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變數(局部)只能繼承 /etc/profile中的變數,他們是」父子」關系。

(6) ~/.bash_profile: 是互動式、login 方式進入 bash 運行的~/.bashrc 是互動式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。

熱點內容
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259
sqlserver合並 發布:2025-01-31 10:22:27 瀏覽:712
大理伺服器地址 發布:2025-01-31 10:10:52 瀏覽:972
流上傳文件 發布:2025-01-31 10:09:27 瀏覽:40
滿贈演算法 發布:2025-01-31 09:54:27 瀏覽:709
濱州視頻拍攝腳本 發布:2025-01-31 09:48:25 瀏覽:418