linux編寫自啟動shell指令碼
阿新 • • 發佈:2018-11-22
1.需求分析
在很多情況下,程式設計師都做著重複枯燥的工作,雖然這些工作也是必須的,其實這些重複性的工作可以執行指令碼替代;今天筆者就如何編寫自啟動shell指令碼減少程式設計師開啟伺服器後的環境開啟工作;
2.配置環境
linux版本:centos-6.3
jdk:1.8
tomcat: 9.0
3.實現方案
①抒寫指令碼
#!/bin/sh #chkconfig: 2345 80 90 #description:hello.sh echo "=============close firewall==================" service iptables stop echo "==============start redis server============" redis-server /usr/local/redis/redis-4.0.1/redis.conf cd /usr/local/tomcat/apache-tomcat-9.0.0.M22/bin echo "=================start tomcat================" ./startup.sh
命名為hello.sh
前面三行是固定樣式,後續的都是指令碼實現需求
②賦予hello.sh可執行許可權
chmod +x ./hello.sh
③將hello.sh移動到 /etc/profile.d
mv hello.sh /etc/profile.d
④新增自啟動項hello.sh(執行新增自啟動前提:該指令碼必須置於/etc/init.d下)
chkconfig --add hello.sh
⑤預設開啟自啟動項hello.sh
chkconfig hello.sh on
⑥如果在第④步報錯,則進入hello.sh目錄並編輯
依次執行
:set ff
檢視檔案格式,這裡可能會是doc
所以還需執行
:set ff=unix
⑦重啟伺服器,指令碼就自動執行了
4.測試效果
如果重啟服務後以下錯誤
接下來在tomcat/bin中的catalina.sh中新增以下兩句程式碼(看清楚位置)
export JAVA_HOME=/usr/local/java/jdk1.8.0_60 export JRE_HOME=/usr/local/java/jdk1.8.0_60/jre
具體位置如下
然後reboot重啟服務就好
訪問tomcat
訪問redis