centos7 开机自动执行shell脚本

直接修改/etc/rc.d/rc.local文件

       1.自己新建一个脚本,如startAll-zookeeper.sh,以开机启动zookeeper为例

centos7 开机自动执行shell脚本_第1张图片

      2.执行如下命令,将该脚本标记为可执行文件(添加可执行的权限)
  chmod +x /home/xuliang/zookeeper/zookeeper-3.4.14/bin/startAll-zookeeper.sh

      3.执行如下命令将/etc/rc.d/rc.local文标记为可执行文件
  在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件
  chmod +x /etc/rc.d/rc.local #这一步必不可少,否则开机启动不成功

       4.打开/etc/rc.d/rc.local文件,在最后面添加如下脚本
 

export JAVA_HOME=/home/xuliang/jdk/jdk1.8.0_11 #这一步必不可少,否则开机启动不成功
su - xuliang -c '/home/xuliang/zookeeper/zookeeper-3.4.14/bin/startAll-zookeeper.sh' #这样写的目的是让zk在普通用户去启动,如果不指定用户的话默认以超级用户启动

这样,startAll-zookeeper.sh这个脚本在开机的时候就会被执行了,以后再这里面写启动服务的命令就可以了

---用到的额外linux命令

        #systemctl list-units --type=service  #来查看一下所有的开启启动项目里面有没有这个rc-local这个服务。
        #systemctl  status rc-local.service #来查看一下当前是怎么个状态
        然后:
        #systemctl enable rc-local.service
        #systemctl start rc-local.service
        #手工添加下开机启动或者手工起一下看报错信息。

        另外:服务的启动文件是存放在了:/lib/systemd/system/目录下面,如果不记得这个服务的全称可以来这个目录下面看。

  欢迎大家私信博主,邀你进技术交流群

你可能感兴趣的:(Zookeeper,linux,linux,java,服务器)