第一種開機執行命令法:
直接修改/etc/rc.d/rc.local文件
編輯文件/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
比如要將zookeeper添加為開機自啟動就在最后加上“/usr/local/zookeeper-3.4.5/bin/zkServer.sh start”
配置好之后,重啟centos,會發現命令被執行了。前提條件是當前機器環境變量中有java命令即$JAVA_HOME/bin的路徑,否則zookeeper也啟動不了。
[root@zookeeper ~]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local # /usr/local/zookeeper-3.4.5/bin/zkServer.sh start
第二種服務自啟動法:
這次換個jetty吧
1、進入到/etc/rc.d/init.d目錄下,新建一個jetty腳本
vi /etc/rc.d/init.d/jetty
將以下腳本寫入文件中,可以看出這是一個case語句判斷,當我們使用"service jetty start"啟動服務的時候"start"參數就會變成$1傳入下面的腳本,從而做出對應的操作。
# chkconfig: 345 99 99 (這個比較有意思,345代表在設置在那個level中是on的,如果一個都不想on,那就寫一個橫線"-",比如:chkconfig: - 99 99。后面兩個數字當然代表S和K的默認排序號啦,基本都寫99,排后面啟動安全保險)
#!/bin/bash #chkconfig: 345 99 99 #description:jetty server #processname:jetty JETTY_HOME=/app/jetty9_4_8 case $1 in start) su root $JETTY_HOME/bin/jetty.sh start;; stop) su root $JETTY_HOME/bin/jetty.sh stop;; check) su root $JETTY_HOME/bin/jetty.sh check;; restart) su root $JETTY_HOME/bin/jetty.sh restart;; *) echo "require start|stop|check|restart" ;; esac
2、最后保存jetty文件后別忘了設置文件的執行權限
chmod +x jetty
3、至此服務已經創建好了,可以用"service jetty start"來啟動jetty了,但我們要設置自啟動還需要添加到chkconfig來管理
chkconfig --add jetty
chkconfig --list jetty
看到3是啟動狀態就說明在文本界面啟動方式下該服務已經設置為自啟動了,5是圖形化界面
如果不是啟動狀態需要用命令開啟自啟動
chkconfig --level 345 jetty on chkconfig --list jetty