CentOS7开机启动执行脚本/服务(打印日志)

               centos7开机启动自定义脚本大致分为一下几种方式

一、通过CentOS7的rc-local服务启动

      编辑rc.local文件(没有就自己建)

vim /etc/rc.d/rc.local

执行命令以sudo执行,不然可能会出现权限问题(楼主踩过的坑......),打印日志方便调试过程,&表示后台运行,故可能需要等待一段时间才能访问服务。

#!/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.

exec 2> /tmp/rc.local.log      # send stderr from rc.local to a log file
exec 1>&2                      # send stdout to the same log file
echo "rc.local started"        # show start of execution
set -x

touch /var/lock/subsys/local
cd /opt/code_linux_x64/     
sudo sh run.sh &               # 以root执行,不然可能会出现权限错误,&表示后台执行

# 脚本执行完后也给个日志
echo "rc.local completed"

为rc.local添加执行权限,CentOS7默认为rc.local降级了,所以给他开开执行权限。

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

最后查看一下rc.local服务是否启动:

systemctl status rc-local.serives

启动命令 
systemctl enable rc-local.service
systemctl start rc-local.service

查看服务
ps -ef|grep mysql ##mysql为查询的名称

 出现错误则自自己分析 日志文件,不同脚本会有不同错误,无法说明。

二、通过Linux下的chkconfig添加系统启动脚本

1、在 /etc/rc.d/init.d 目录下新增脚本文件 run.sh

      切记前三行不可少,那不是注释!!!

       第一行#!/bin/bash是指此脚本使用/bin/bash来解释执行

       第二行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。 

      第三行对服务进行描述,可以用\ 跨行注释,测试瞎写就行。 

详细请自行了解 chkconfig命令,在这里不做过多解释(废话)。

run.sh文件:

#!/bin/bash
# chkconfig: 2345 10 90
# description: 开机自启脚本
###cd /opt/codesec_linux_x64/
####sh run.sh &

exec 2> /tmp/rc.local.log      # send stderr from rc.local to a log file
exec 1>&2                      # send stdout to the same log file
echo "rc.local started"        # show start of execution
set -x

touch /var/lock/subsys/local
cd /opt
sudo sh scanStart.sh &               ## 以root执行,不然可能会出现权限错误,&表示后台执行

# 脚本执行完后也给个日志
echo "rc.local completed"

 scanStart.sh文件:

echo "This is a test message"  ###请自行实现业务脚本,此处不做分享

reboot后日志文件: 

 

2、增加脚本的可执行权限

chmod +x  /etc/rc.d/init.d/run.sh

chmod +x  vim /opt/scanStart.sh

3、添加脚本到开机自动启动项目中

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

cd /etc/rc.d/init.d
chkconfig --add run.sh
chkconfig run.sh on

最后提醒,如果出现问题请自行日志调试。(废话)

三、使用CentOS7 systemctl 添加自定义系统启动自启服务

第一位只是简要的使用,第二位详细说明了各个参数的作用,不废话请参考一下两位的解释:

快速上手使用

详细阐述与使用

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7中,你可以通过以下几种方法来添加开机启动服务脚本。 方法一:使用systemctl命令 1. 使用以下命令将服务设置为开机自启动: systemctl enable 服务名.service 例如,要将Jenkins服务设置为开机自启动,可以运行以下命令: systemctl enable jenkins.service 2. 使用以下命令启动服务: systemctl start 服务名.service 例如,要启动Jenkins服务,可以运行以下命令: systemctl start jenkins.service 方法二:使用/etc/rc.local文件 1. 编辑/etc/rc.local文件: vi /etc/rc.local 2. 在文件中添加需要在开机时运行的命令或脚本。 3. 确保/etc/rc.local文件具有可执行权限: chmod +x /etc/rc.local 方法三:使用/etc/rc.d/init.d/目录和chkconfig命令 1. 将编写好的启动脚本移动到/etc/rc.d/init.d/目录下: mv /path/to/脚本.sh /etc/rc.d/init.d/ 2. 添加脚本的可执行权限: chmod +x /etc/rc.d/init.d/脚本.sh 3. 使用chkconfig命令将脚本设置为开机启动: chkconfig --add 脚本.sh chkconfig 脚本.sh on 请注意,以上方法中的服务名或脚本名需要根据实际情况进行替换。另外,在使用/etc/rc.local文件时,需要注意权限问题,确保文件具有可执行权限。 #### 引用[.reference_title] - *1* *3* [CentOS 7添加开机启动服务/脚本](https://blog.csdn.net/qq_20967969/article/details/125149682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CentOS7如何设置开机自启动程序、开机自启脚本?](https://blog.csdn.net/Dontla/article/details/125333850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值