centos7 系统启动自动执行shell脚本

Published on with 52 views

1. 创建启动脚本

touch start.sh

内容参考:

#!/bin/bash
echo '准备启动 mongodb...'
cd /home/developer/MongoDB && sh ./start.sh &&
echo 'mongodb启动完毕!'
echo '准备启动 rocketMQ...'
cd /home/developer/RocketMQ && sh ./startrocketmq.sh &&
echo 'rocketMQ 启动完毕!'
~                                        

2. 加入启动执行目录

sudo vim /etc/rc.d/rc.local 

内容参考:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
su - developer -c 'cd /home/developer/ && sh start.sh'

3. 赋予执行权限

sudo chmod +x /etc/rc.d/rc.local 

4. 注意点

  • .sh的脚本开头有#!/bin/bash
  • 因为很多启动脚本都涉及到日志输出(特别是自己的应用启动脚本), 所以配置的命令最好是先cd到对应目录, 然后再执行脚本
  • 注意启动的用户, 如果都以root启动, 则后续其他用户不方便操作root留下的进程以及生成的文件, 建议切换到对应权限的用户执行
    切换用户命令su - username -c (username改为自己的用户名)


标题:centos7 系统启动自动执行shell脚本
作者:TWanGT
地址:http://twangt.wang/articles/2020/09/09/1599657388743.html

Responses