首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

centos6 开机启动执行脚本

在CentOS 6系统中,开机启动执行脚本通常涉及到系统服务(service)和初始化脚本(init script)。以下是相关基础概念、优势、类型、应用场景以及常见问题解决方法:

基础概念

  1. 系统服务(Service):Linux系统中用于管理后台进程的程序,可以通过service命令来启动、停止、重启和查看状态。
  2. 初始化脚本(Init Script):位于/etc/init.d/目录下的脚本,用于控制服务的启动和停止。

优势

  • 自动化:系统启动时自动执行脚本,无需人工干预。
  • 可靠性:确保关键服务在系统启动后立即运行。
  • 灵活性:可以编写复杂的启动逻辑,满足不同需求。

类型

  • SysV Init:CentOS 6使用的是传统的SysV Init系统。
  • Upstart:一种更现代的初始化系统,但在CentOS 6中不是默认的。

应用场景

  • Web服务器:如Apache或Nginx,需要在系统启动时自动启动。
  • 数据库服务:如MySQL或PostgreSQL,确保数据服务始终可用。
  • 监控工具:如Nagios或Zabbix,用于系统监控。

如何设置开机启动执行脚本

  1. 创建初始化脚本: 在/etc/init.d/目录下创建一个新的脚本文件,例如my_service
  2. 创建初始化脚本: 在/etc/init.d/目录下创建一个新的脚本文件,例如my_service
  3. 赋予脚本执行权限
  4. 赋予脚本执行权限
  5. 添加到系统服务管理
  6. 添加到系统服务管理

常见问题及解决方法

问题1:脚本未执行

  • 原因:可能是脚本权限问题或chkconfig未正确添加。
  • 解决方法
    • 确保脚本有执行权限:chmod +x /etc/init.d/my_service
    • 检查chkconfig是否添加成功:chkconfig --list my_service

问题2:脚本执行出错

  • 原因:脚本内部逻辑错误或依赖的服务未启动。
  • 解决方法
    • 查看日志文件,通常位于/var/log/目录下。
    • 在脚本中添加详细的日志输出,便于调试。

示例代码

假设我们要启动一个简单的HTTP服务器,可以在脚本中添加如下内容:

代码语言:txt
复制
#!/bin/bash
# chkconfig: 2345 90 10
# description: Simple HTTP Server

case "$1" in
  start)
    echo "Starting HTTP Server"
    /usr/sbin/httpd &
    ;;
  stop)
    echo "Stopping HTTP Server"
    pkill httpd
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  status)
    pgrep httpd > /dev/null && echo "HTTP Server is running" || echo "HTTP Server is stopped"
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac

通过以上步骤,你可以确保在CentOS 6系统启动时自动执行自定义脚本,并处理常见的启动问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • linux开机自启动python脚本_python3执行linux命令

    service 服务名 restart 或systemctl restart 服务名 service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序...# service命令启动redis脚本 service redis start # 直接启动redis脚本 /etc/init.d/redis start # 开机自启动 update-rc.d redis...defaults 其中脚本需要我们自己编写 2.systemctl命令 systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动...systemd对应的进程管理命令是systemctl 1)systemctl命令兼容了service 即systemctl也会去/etc/init.d目录下,查看,执行相关程序systemctl redis...startsy stemctl redis stop # 开机自启动systemctl enable redis 2)systemctl命令管理systemd的资源Unit systemd的Unit放在目录

    1.9K30

    ubuntu-18.04开机启动脚本

    sudo service mysql start 现在用: sudo systemctl start mysqld.service 其实这个改动到不是算大,主要是开机启动比以前复杂多了。...执行 ls /lib/systemd/system 你可以看到有很多启动脚本,其中就有我们需要的 rc.local.service 打开脚本内容: # This file is part of systemd...[Unit] 段: 启动顺序与依赖关系 [Service] 段: 启动行为,如何启动,启动类型 [Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动 可以看出,/etc/rc.local...的启动顺序是在网络后面,但是显然它少了 Install 段,也就没有定义如何做到开机启动,所以显然这样配置是无效的。...Alias=rc-local.service 这里需要注意一下,ubuntu-18.04 默认是没有 /etc/rc.local 这个文件的,需要自己创建 下面整体说明怎么设置ubuntu-18.04开机启动脚本

    4K10

    Ubuntu18设置脚本开机启动

    当我搜索“如何在Ubuntu18设置脚本开机启动”,前N条的教程文章几乎都是在说同一个东西——rc.local,然而当我顺着教程一步步设置下来后发现遇到了无法启动的尴尬,如果大家用rc.local在systemctl...start无法启动时,不妨试试以下方法。...用Ubuntu18本身自带的systemd来设置开机启动脚本,并不需要像其它文章所说那么复杂,又是从/lib/systemd/system/rc.local.service 复制过来,再创建/etc/rc.local...1、准备好要运行的脚本vi ~/test.sh,输入以下内容,如果脚本里要运行其它程序,就用该程序完整的地址 #!...home/xxxx/test.sh [Install] WantedBy=multi-user.target 3、更改test.sh的权限 chmod 777 ~/test.sh 4、systemctl启动

    1.8K00

    linux添加开机启动脚本 原

    多用户模式,但比3模式少了一个nfs服务 3——多用户命令行模式,最常用 4——保留级别暂时没用, 5——图形模式, 6——重启 一、chkconfig-CentOS6以前 chkconfig就是CentOS6...以前用来控制系统服务的工具,系统开机时启动的部分服务存储在/etc/init.d/目录下。...我们可以把需要开机启动的服务放在这个目录下然后用chkconfig来管理。 查看命令 chkconfig --list #列出所有的系统服务。...chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表 示例 chkconfig...操作命令 针对单一服务的 systemctl enable crond ##设置开机启动crond服务或工具 systemctl disable crond ##设置关闭开机启动crond服务或工具 systemctl

    1.7K30

    RHEL7开机自启动shell脚本

    RHEL7下自己新建一个脚本,如tomcat。 经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动Tomcat,Oracle等服务 2....在脚本中输入启动服务的命令,如(开机启动tomcat): # vi /etc/init.d/tomcat #!...执行如下命令将/etc/rc.d/rc.local文标记为可执行文件 在CentOS7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件...打开/etc/rc.d/rc.local文件,在最后面添加如下脚本 /etc/init.d/tomcat  这样tomcat这个脚本在开机的时候就会被执行了,以后再这里面写启动服务的命令就可以了 6....如果一台服务器上tomcat应用和数据库在一台服务器上,开机自启动是需要数据库先启动在启动tomcat应用,所以命令顺序:启动数据库命令放在前面,tomcat启动命令放在最后 # cat /etc/rc.d

    1.4K10

    linux部署jar包脚本和注册开机启动

    前言 之前开发了windows部署jar包为服务的工具在实际生产环境中使用非常简单方便,公司部分项目是部署在linux系统中的,所以决定整合一个通用的jar包部署脚本,并注册为开机启动服务,为开发实施的同事提供方便...,以下操作实际系统环境为centos8 通过脚本启动 安装jdk,可以不配置环境变量 脚本和部署jar包放置在同一个文件夹 修改脚本deploy.sh中的JAVA_HOME指向jdk目录,.../deploy.sh stop 注册服务启动 需要执行完毕【通过脚本启动】步骤配置内容 修改deploystart.sh和deploystop.sh脚本内容重的cd路径为【通过脚本启动】步骤拷贝到的项目路径...deploystart.sh ExecStop=/etc/systemd/system/deploystop.sh PrivateTmp=true [Install] WantedBy=multi-user.target 执行命令服务开机启动...systemctl enable deploy.service 执行命令取消服务开机启动 systemctl disable deploy.service 执行命令查看服务状态 systemctl status

    42040

    ubuntu-server-18.04 设置开机启动脚本

    比如以前启动 mysql 服务用: sudo service mysql start 现在用: sudo systemctl start mysqld.service 其实这个改动到不是算大,主要是开机启动比以前复杂多了...执行 ls /lib/systemd/system 你可以看到有很多启动脚本,其中就有我们需要的 rc.local.service 打开脚本内容: # This file is part of systemd...[Unit] 段: 启动顺序与依赖关系  [Service] 段: 启动行为,如何启动,启动类型  [Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动 可以看出,/etc/rc.local...的启动顺序是在网络后面,但是显然它少了 Install 段,也就没有定义如何做到开机启动,所以显然这样配置是无效的。...rc.local脚本 rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。 该脚本具体格式如下: #!

    92010

    windows开机自动执行bat脚本启动cmd命令窗口并执行命令,最后自动关闭cmd命令窗

    先说bat脚本吧,随便在桌面建一个文本文档,在里面写脚本,内容是,先启动cmd命令窗,并执行一个命令,最后自动关闭cmd窗,如下: @echo off start "wumin" "C:\Windows...; 然后双击这个bat文件可以测试脚本写的是否可用。...看上面的命令,第一行是执行批处理的命令, 第二行是 start命令,负责启动cmd.exe程序。至于wumin是cmd命令长的名字,可以不写。后面是cmd的存放路径。...第三行是要在cmd中执行的命令 第四行是执行完命令后关闭cmd命令窗口 第五行也是退出命令,好像是可有可无。...最后是,怎么设置为开机启动项呢:如下 找到所有程序–》启动;右键打开 把刚才写的bat脚本放到这里,就能够开机时自动执行脚本里的内容了。

    6.5K20
    领券