centos添加啟動腳本
① centos7如何添加開機啟動服務腳本
一、添加開機自啟服務
在centos7中添加開機自啟服務非常方便,只需要兩條命令(以Jenkins為例):
systemctl enable jenkins.service #設置jenkins服務為自啟動服務sysstemctl start jenkins.service #啟動jenkins服務
二、添加開機自啟腳本
在centos7中增加腳本有兩種常用的方法,以腳本autostart.sh為例:
#!/bin/bash#description:開機自啟腳本/usr/local/tomcat/bin/startup.sh #啟動tomcat
方法一
1、賦予腳本可執行許可權(/opt/script/autostart.sh是你的腳本路徑)
chmod +x /opt/script/autostart.sh
1
2、打開/etc/rc.d/rc/local文件,在末尾增加如下內容
/opt/script/autostart.sh
3、在centos7中,/etc/rc.d/rc.local的許可權被降低了,所以需要執行如下命令賦予其可執行許可權
chmod +x /etc/rc.d/rc.local
方法二
1、將腳本移動到/etc/rc.d/init.d目錄下
mv /opt/script/autostart.sh /etc/rc.d/init.d
2、增加腳本的可執行許可權
chmod +x /etc/rc.d/init.d/autostart.sh
3、添加腳本到開機自動啟動項目中
cd /etc/rc.d/init.dchkconfig --add autostart.shchkconfig autostart.sh on
② CentOS7部署開源WebDav服務,實現全端文件共享
在CentOS 7上部署開源WebDAV服務以實現全端文件共享,可以通過以下步驟進行:
選擇WebDAV伺服器:
- 使用由hacdias開發的Go語言WebDAV伺服器,GitHub地址為github.com/hacdias/webdav。
基本配置:
創建啟動腳本:
- 在/usr/lib/systemd/system/目錄下創建一個名為webdav.service的啟動腳本。
- 配置完成後,啟動服務,並通過命令查看服務狀態,確認服務已成功啟動。
客戶端連接:
- 可以使用如raiDrive等客戶端進行連接測試,如能連接成功,表明文件上傳功能已啟用。
安全性增強:
- 考慮使用Nginx的443埠進行反向代理,以增強安全性。
- 通過查看WebDAV伺服器的日誌,確保所有連接正常。
跨平台訪問:
- 對於iOS設備,可以通過WebDAV與蘋果的客戶端配合,實現文件同步。
總結: 通過以上步驟,你可以在CentOS 7上成功部署開源的WebDAV服務,實現全端文件共享。 確保埠開放、配置正確,以及使用反向代理等安全措施,以保障服務的穩定性和安全性。
③ Centos8 設置開機自啟動腳本
CentOS 8 系統中,傳統的 /etc/rc.local 文件已不再自動執行開機腳本,需要通過設置 rc.local 服務使其開機自啟動。以下是設置步驟:
在CentOS 8 中,為確保開機時執行自定義腳本,需要首先理解rc.local服務的配置。首先,檢查默認的 /etc/rc.local 狀態,確認它是 /etc/rc.d/rc.local 的符號鏈接。
接著,編輯 /etc/rc.local 並添加你需要的開機啟動命令,確保給予可執行許可權。例如,創建一個在 /tmp 的 txt 文件:
1. 打開編輯器,添加一行啟動命令,如:`touch /tmp/mytxt.txt`
2. 授予命令執行許可權:`chmod +x /etc/rc.local`
然後,配置 rc.local 服務,確保 service 文件包含必要的啟動指令,例如:
4. 啟動 rc-local 服務:`systemctl start rc-local`
5. 為了開機自動執行,設置服務開機啟動:`systemctl enable rc-local`
測試配置:重啟系統後,檢查/tmp 文件夾中是否生成了 txt 文件。如果成功,說明腳本沒有問題。刪除該文件後再次重啟,確認文件在下次啟動時仍存在,以驗證 rc-local 服務配置正常。
對於 CentOS 7 中的 Nginx 安裝,需要額外指定 yum 倉庫來獲取 Nginx 包。首先,創建一個 nginx.repo 文件,配置倉庫地址,然後使用 yum 安裝 Nginx 並啟動它。Nginx 的配置文件位於 /etc/nginx 目錄下,具體如下:
1. 安裝 Nginx:`yum install nginx`
2. 配置文件位置:/etc/nginx/nginx.conf 和 /etc/nginx/conf.d/default.conf
3. 啟動、停止和檢查 Nginx 狀態使用 systemctl 命令。
4. 訪問 Nginx:在瀏覽器中輸入伺服器 IP 地址(默認80埠,如 `http://ip`)。
完成以上步驟後,CentOS 7 的 Nginx 安裝就完成了。
④ 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啟動優先順序:
⑤ CENTOS7開機自啟動腳本
1、因為在centos7中 /etc/rc.d/rc.local 的許可權被降低了,所以需要賦予其可執行權
2、賦予腳本可執行許可權
假設 /usr/local/script/autostart.sh 是你的腳本路徑,給予執行許可權
3、打開 /etc/rc.d/rc.local 文件,在末尾增加如下內容
1、將腳本移動到 /etc/rc.d/init.d 目錄下
2、增加腳本的可執行許可權
3、添加腳本到開機自動啟動項目中
chkconfig啟動腳本規范 在腳本開頭加入下面內容:
說明:chkonfig後面是啟動級別和優先順序,description後面是服務描述。如上面腳本意思是,
服務必須在運行級2,3,4,5下被啟動或關閉,啟動的優先順序是90,停止的優先順序是10。
優先順序范圍是0-100,數字越大,優先順序越低。
Linux啟動優先順序
運行級別就是操作系統當前正在運行的功能級別。這個級別從0到6 ,具有不同的功能。
這些級別在/etc/inittab文件里指定。這個文件是init程序尋找的主要文件,最先運行的服務是那些放在/etc/rc.d 目錄下的文件。
不同的運行級定義如下:(可以參考Linux裡面的/etc/inittab)
⑥ CentOS使用腳本管理服務的詳解
1、使用工具:chkconfig 管理/etc/rc.d/init.d或/etc/init.d/目錄下的服務啟動腳本。
要在服務啟動腳本開頭添加兩行:
# chkconfig: 2345 88 12
# description: XXXXXXXXX XXXXXX
這樣就可以使用工具:chkconfig 來管理服務啟動腳本了。
使用工具:chkconfig 工具的好處:
沒有使用該工具,我們要讓一個服務在2、3、4、5級別上都運行,在其它級別上都不運行。要手動設置很多符號連接:
在/etc/rc.d/rc1.d 執行:[root@node2 rc1.d]# ln -sv K12nrped ../init.d/nrped
在/etc/rc.d/rc2.d 執行:[root@node2 rc2.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc3.d 執行:[root@node2 rc3.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc4.d 執行:[root@node2 rc4.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc5.d 執行:[root@node2 rc5.d]# ln -sv S88nrped ../init.d/nrped
在/etc/rc.d/rc6.d 執行:[root@node2 rc6.d]# ln -sv K12nrped ../init.d/nrped
添加這些符號鏈接之後。運行級別改變時,該服務就會授腳本 rc 的控制。------> rc 腳本就會根據對應運行級別目錄(/etc/rc.d/rc$runlevel.d)的符號標識:S、K 關閉、啟動對應的服務。這樣就實現了設置一個服務是否在一個運行級別上運行。
工具:chkconfig 就會根據服務運行腳本的 #chkconfig 行來,自動設置上述的符號鏈接。
[[email protected]]#chkconfigon
就會根據:# chkconfig: 2345 88 12 創建各運行級別上的符號鏈接。
2、為了使用工具: service 管理服務 腳本最少需要接收 start 和 stop 選項;
服務啟動腳本要根據用戶輸入的選項:
stop -----> 關閉服務
start -----> 啟動服務
reload -----> 告訴程序重讀配置文件,改變程序的運行狀態
restart ----> 重新啟動服務
3、Lock directory for RedHat / SuSE
RedHat 管理服務的一種機制,要在/var/lock/subsys/目錄下創建一個鎖文件。
[[email protected]]#vim/etc/init.d/nrped
#!/bin/bash
#chkconfig:23458911
#description:NRPEDAENON
NRPE=/usr/local/nagios/bin/nrpe
OPTIONS="-c/etc/nagios/nrpe.cfg-d"
lockfile=/var/lock/subsys/nrped
prog=nrped
RETVAL=0
./etc/rc.d/init.d/functions
start(){
echo-n$"Starting$prog:"
daemon$NRPE$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-d-10$NRPE
RETVAL=$?
echo
[RETVAL=0]&&rm-f${lockfile}
}
reload(){
echo-n$"Reloading$prog:"
killproc$NRPE-HUP
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status$NRPE
;;
*)
echo"Usage:$0start|stop|restart|reload|status"
;;
esac
exit0