centos7 系统启动自动执行shell脚本
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改为自己的用户名)
还没有评论,来说两句吧...