Centos7開機執行指令碼的辦法

2021-08-18 19:16:30 字數 945 閱讀 4326

centos7系統是建議我們建立自己的systemd伺服器來啟動指令碼或是程式的,不過,自己很菜,對service檔案的編輯不懂,裡面需要配置的東東還挻多。乙個service尚且如此,多了後就很可怕了,比如開機啟動nginx,tomcat,redis,zookeeper等等,太麻煩了,遠不及寫幾行命令來的得方便。所以人還是使用傳統的方式,把指令碼寫進rc.local檔案裡。

centos7預設關閉了rc.local檔案的執行許可權,所以需要手動開啟:

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

一般情況下,這樣做就行了,但是有可能系統啟動執行指令碼時會有錯誤,所以最好在rc.local檔案中加些日誌,以便檢視錯誤原因。如:

# 指令碼開始處日誌

exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file

exec 1>&2 # send stdout to the same log file

echo "rc.local started" # show start of execution

set -x

# 這裡是真正需要執行的指令碼

touch /var/lock/subsys/local

/opt/script/startup.sh #這個指令碼檔案寫好需要執行的**

# 指令碼執行完後也給個日誌

echo "rc.local completed"

這樣就把rc.local檔案的運**況寫進/tmp/rc.local.log檔案裡了。我們最好再手動建立下這個日誌檔案:

touch /tmp/rc.local.log

最後,一切都完美了。

參考:

CentOS7開機執行指令碼

以下示例以指令碼autostart.sh為例 bin bash description 開機自啟指令碼 啟動tomcat usr local tomcat bin startup.sh1 賦予自定義指令碼可執行許可權 opt script autostart.sh是自定義指令碼 chmod x op...

centos7 開機自動執行指令碼

1 因為在centos7中 etc rc.d rc.local的許可權被降低了,所以需要賦予其可執行權 chmod x etc rc.d rc.local 2 賦予指令碼可執行許可權 假設 usr local script autostart.sh是你的指令碼路徑,給予執行許可權 chmod x u...

linux設定開機執行指令碼

由於伺服器啟動需要執行多個系統軟體 例如 nginx redis rocketmq zookeeper tomcat 伺服器每次啟動需要手動去啟動多個,比較繁瑣,所以寫個指令碼,讓開機啟動去執行即可 如果自己想再加其他的,寫成指令碼直接加入到下面的begin start.sh指令碼中即可 vim b...