centos7 开机自动执行shell脚本
第一种:直接修改/etc/rc.d/rc.local文件1.自己新建一个脚本,如startAll-zookeeper.sh,以开机启动zookeeper为例2.执行如下命令,将该脚本标记为可执行文件(添加可执行的权限) chmod +x /home/xuliang/zookeeper/zookeeper-3.4.14/bin/startAll-zookee.........
直接修改/etc/rc.d/rc.local文件
1.自己新建一个脚本,如startAll-zookeeper.sh,以开机启动zookeeper为例
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/目录下面,如果不记得这个服务的全称可以来这个目录下面看。
欢迎大家私信博主,邀你进技术交流群
更多推荐
所有评论(0)