在我们使用Linux服务器的时候通常会对服务器进行开关机重启等活动,此时我们就很希望能有一些服务能够随机重启,比如我是在zookeeper中进行了数据库的配置,所以剑客在这希望服务启动的同时数据库的信息也能获取到。下面我就随机启动的几种配置方法作详细的介绍:
已挂载随机启动的服务
首先使用chkconfig --list来查询挂载随机启动的服务
我们也可以使用chkconfig --list |grep zookeeper来查看某个具体的服务
(注释 0:关机 1:单用户模式 2:无网络支持的多用户模式 3:有网络支持的多用户模式 4:保留,未使用 5:有网络支持有X-Window支持的多用户模式 6:重新引导系统,即重启 on表示该状态可以重启,off表示改状态不可重启)
如果默认是off,我们可以使用chkconfig zookeeper on来开启,其中2~5会默认开启为on;
我们使用service zookeeper start/stop来进行开启或者关闭服务, 使用service zookeeper status来查看服务状态
未挂载随机启动的服务
1.使用.sh启动脚本【简易版】
可以先见一个start.sh文件,放到自定义目录下面,比如我放到/usr/local/start.sh中
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg
使用chomd +x /usr/local/start.sh 给该文件赋予权限
在rc.local中进行编辑,.将.sh文件放到启动配置项中
#!/bin/bash
export JDK_HOME=/app/jdk1.7.0_71 #指代jdk的真实目录,必须填写,要不然无法开机启动
/usr/local/start.sh #将.sh文件脚本启动
使用chomd +x /usr/local/rc.local 给该文件赋予权限
然后开机重启即可。
2.使用rc.local文件自启动【最简版】
只在rc.local中编辑命令
#!/bin/bash
export JDK_HOME=/app/jdk1.7.0_71 #指代jdk的真实目录,必须填写,要不然无法开机启动
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg
使用chomd +x /etc/rc.d/rc.local 给该文件赋予权限
开机重启即可。
3.使用shell命令进行自启动【完整版】
该方法是通过自动义服务,然后将服务设置为挂载开机启动帮服务的方式进行自启动的,使用命令 cd /etc/rc.d/init.d/ 进入目录,新建服务目录比如zookeeper,命令是mkdir zookeeper ,使用vi zookeeper进行编辑
# !/bin/bash
# chkconfig:2345 10 90
# description:zookeeper
# processname:zookeeper
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
case $1 in
start) /usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg;;
stop) /usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh stop /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg;;
status) /usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh status /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg;;
restart) /usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh restart /usr/local/zookeeper/zookeeper-3.4.6/conf/zoo.cfg;;
*) echo "requirestart|stop|status|restart" ;;
esac
此时zookeeper的服务新建完成,为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限chmod +x /etc/rc.d/init.d/zookeeper。把zookeeper这个脚本添加到开机启动项里面 chkconfig --add zookeeper ,查看是否添加成功 chkconfig --list
我们尝试使用service zookeeper start/stop来进行开启或者关闭服务, 使用service zookeeper status来查看服务状态,如果可以说明服务定义生效
最后重启即可。
通过以上三种方法我们定义了zookeeper的开机重启,同理其他服务我们也可以这样定义。