精华内容
下载资源
问答
  • linux开机自动启动脚本

    千次阅读 2016-02-25 20:44:01
    linux开机自启动脚本

    前言

    linux有自己一套完整的启动 体系,抓住了linux启动 的脉络,linux的启动 过程将不再神秘。
    阅读之前建议先看一下附图。
    本文中假设inittab中设置的init tree为:

    • /etc/rc.d/rc0.d
    • /etc/rc.d/rc1.d
    • /etc/rc.d/rc2.d
    • /etc/rc.d/rc3.d
    • /etc/rc.d/rc4.d
    • /etc/rc.d/rc5.d
    • /etc/rc.d/rc6.d
    • /etc/rc.d/init.d

    目录

    1. 关于linux的启动
    2. 关于rc.d
    3. 启动 脚本 示例
    4. 关于rc.local
    5. 关于bash启动 脚本
    6. 关于开机程序的自动启动

    1 关于linux的启动

    init是所有进程之父
    init读取/etc/inittab,执行rc.sysinit脚本
    (注意文件名是不一定的,有些unix甚至会将语句直接写在inittab中)
    rc.sysinit脚本 作了很多工作:

    init $PATH
    config network
    start swap function
    set hostname
    check root file system, repair if needed
    check root space
    ….

    rc.sysinit根据inittab执行rc?.d脚本
    linux是多用户系统,getty是多用户与单用户的分水岭
    在getty之前运行的是系统脚本

    2 关于rc.d

    所有启动 脚本 放置在 /etc/rc.d/init.d下
    rc?.d中放置的是init.d中脚本 的链接,命名格式是:
    S{number}{name}
    K{number}{name}
    S开始的文件向脚本 传递start参数
    K开始的文件向脚本 传递stop参数
    number决定执行的顺序

    3 启动 脚本 示例

    这是一个用来启动 httpd的 /etc/rc.d/init.d/apache 脚本 :

    #!/bin/bash
    
    source /etc/sysconfig/rc
    source $rc_functions
    
    case "$1" in
    start)
    echo "Starting Apache daemon..."
    /usr/local/apache2/bin/apachectl -k start
    evaluate_retval
    ;;
    
    stop)
    echo "Stopping Apache daemon..."
    /usr/local/apache2/bin/apachectl -k stop
    evaluate_retval
    ;;
    
    restart)
    echo "Restarting Apache daemon..."
    /usr/local/apache2/bin/apachectl -k restart
    evaluate_retval
    ;;
    
    status)
    statusproc /usr/local/apache2/bin/httpd
    ;;
    
    *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
    esac

    可以看出他接受start,stop,restart,status参数

    然后可以这样建立rc?.d的链接:

    cd /etc/rc.d/init.d &&
    ln -sf ../init.d/apache ../rc0.d/K28apache &&
    ln -sf ../init.d/apache ../rc1.d/K28apache &&
    ln -sf ../init.d/apache ../rc2.d/K28apache &&
    ln -sf ../init.d/apache ../rc3.d/S32apache &&
    ln -sf ../init.d/apache ../rc4.d/S32apache &&
    ln -sf ../init.d/apache ../rc5.d/S32apache &&
    ln -sf ../init.d/apache ../rc6.d/K28apache

    4 关于rc.local

    经常使用的 rc.local 则完全是习惯问题,不是标准。
    各个发行版有不同的实现方法,可以这样实现:

    touch /etc/rc.d/rc.local
    chmod +x /etc/rc.d/rc.local
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc1.d/S999rc.local &&
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc2.d/S999rc.local &&
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc3.d/S999rc.local &&
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc4.d/S999rc.local &&
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc5.d/S999rc.local &&
    ln -sf /etc/rc.d/rc.local /etc/rc.d/rc6.d/S999rc.local

    5 关于bash启动 脚本

    /etc/profile 
    /etc/bashrc
    ~/.bash_profile
    ~/.bashrc

    是bash的启动 脚本
    一般用来设置单用户的启动 环境,也可以实现开机单用户的程序,但要明确他们都是属于bash范畴而不是系统范畴。
    他们的具体作用介绍如下:
    /bin/bash这个命令解释程序(后面简称shell)使用了一系列启动 文件来建立一个运行环境:

    /etc/profile 
    /etc/bashrc
    ~/.bash_profile
    ~/.bashrc
    ~/.bash_logout 

    每一个文件都有特殊的功用并对登陆和交互环境有不同的影响。
    /etc/profile 和 ~/.bash_profile 是在启动 一个交互登陆shell的时候 被调用。
    /etc/bashrc 和 ~/.bashrc 是在一个交互的非登陆shell启动 的时候 被调用。
    ~/.bash_logout 在用户注销登陆的时候 被读取
    一 个交互的登陆shell会在 /bin/login 成功登陆之后运行。一个交互的非登陆shell是通过命令行来运行的,如[prompt]$/bin/bash。一般一个非交互的shell出现在运行 shell脚本 的时候 。之所以叫非交互的shell,是因为它不在命令行上等待输入而只是执行脚本 程序。

    6 关于开机程序的自动启动

    系统脚本 可以放置在/etc/rc.d/init.d中并建立/etc/rc.d/rc?.d链接,也可以直接放置在/etc/rc.d/rc.local中。
    init.d脚本 包含完整的start,stop,status,reload等参数,是标准做法,推荐使用。
    为特定用户使用的程序(如有的用户需要使用中文输入法而有的不需要)放置在~/中的bash启动 脚本 中。

    展开全文
  • linux 添加开机自启动脚本

    万次阅读 热门讨论 2017-02-04 18:22:45
    Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法: 1. 编写脚本autostart.sh 2. 将写好的autostart.sh脚本移动到/etc/rc.d/init.d/目录下 3. 给脚本赋可执行...

    Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法。

    1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容如下:

    #!/bin/sh
    #chkconfig: 2345 80 90
    #description:开机自动启动的脚本程序
    
    # 开启redis服务 端口为6379
    /usr/local/service/redis-2.8.3/src/redis-server --port 6379 &
    
    

    脚本第一行 “#!/bin/sh” 告诉系统使用的shell;
    脚本第二行 “#chkconfig: 2345 80 90” 表示在2/3/4/5运行级别启动,启动序号(S80),关闭序号(K90);
    脚本第三行 表示的是服务的描述信息

    注意: 第二行和第三行必写,负责会出现如“服务 autostart.sh 不支持 chkconfig”这样的错误。

    2. 将写好的autostart.sh脚本移动到/etc/rc.d/init.d/目录下

    3. 给脚本赋可执行权限

    cd /etc/rc.d/init.d/
    chmod +x autostart.sh
    

    4. 添加脚本到开机自动启动项目中

    chkconfig --add autostart.sh
    chkconfig autostart.sh on
    

    到这里就设置完成了,我们只需要重启一下我们的服务器,就能看到我们配置的redis服务已经可以开机自动启动了。

    展开全文
  • SUSE LINUX设置自启动脚本  (2007-12-22 11:25:57) 转载▼ 标签:  杂谈 分类: 计算机与 Internet  当系统重新启动或异常宕机时,必须手工启动Web Server,为防止忘记...

    SUSE LINUX下设置自启动脚本

      (2007-12-22 11:25:57)
    标签: 

    杂谈

    分类: 计算机与 Internet

         当系统重新启动或异常宕机时,必须手工启动Web Server,为防止忘记启动Web Server,造成外部访问失败,建议将Web Server设置成系统启动时自动启动方式。

         设置步骤如下:

    STEP1:编辑脚本
            在/etc/rc.d/下新建HttpStart脚本,添加如下内容:

    #!/bin/ksh
    # chkconfig: 345 63 37

    #chkconfig:345 63 37 (数字345是指在运行级别为3、4、5时启动;数字63是指启动的优先级;数字 37是指停止的优先级)

    su - root -c '/opt/IBM/HTTPServer/bin/adminctl start'
    su - root -c '/opt/IBM/HTTPServer/bin/apachectl start'

    STEP 2:修改脚本属性

    #chmod 755 HttpStart

    STEP 3:配置脚本自启动

    #chkconfig --level 345 HttpStart on

    展开全文
  • linux开机自动启动脚本方法,之类给出基本的 原理,具体的也可以在网上搜索一下。
  • 设置Suse Linux自启动脚本

    千次阅读 2016-09-06 11:50:09
    在我们的日常工作中或者产品开通的时候需要将一些应用添加到系统的自启动脚本中,以便跟随系统一起启动,操作方法如下: 1.编辑/etc/init.d/rc脚本,在最后一个exit 0之前加入以下红色字体内容,并保存: } rc_local=/...

           在我们的日常工作中或者产品开通的时候需要将一些应用添加到系统的自启动脚本中,以便跟随系统一起启动,操作方法如下:

    1.编辑/etc/init.d/rc脚本,在最后一个exit 0之前加入以下红色字体内容,并保存:

    }

    rc_local=/etc/rc.local
    current_runlevel=$(runlevel | awk '{ print $NF }')
    if [ -x $rc_local ];then
       ((current_runlevel>1)) && ((current_runlevel<6)) && {
         echo -e "\n\n\n"
         echo "-----------------------Startup $rc_local---------------------------"
         $rc_local
       }
    fi

    exit 0
    linux:~ #

    2.编辑/etc/rc.local文件,如果没有,请自行创建,并将需要自启动的内容加入该文件中,如mount:

    mount 192.168.83.178:/voice_nas_array_vdisk1 /nfs
    mount 192.168.81.178:/voice_nas_array_vdisk1 /nfs

    然后给rc.local文件赋上755权限:

    linux:~ # chmod 755 /etc/rc.local

    如上两个mount就会在操作系统启动后自动加载

    
    
    展开全文
  • linux设置开机自启动脚本的最佳方式

    万次阅读 多人点赞 2018-05-28 21:32:25
    公司的开发机经常因为断电被重启,服务都得手动一个一个启动,专门研究了下如何设置开机自动重启脚本设置开机启动方式一 最简单粗暴的方式直接在脚本/etc/rc.d/rc.local(和/etc/rc.local是同一个文件,软链)...
  • Linux 如何设置开机自启动脚本

    千次阅读 2018-09-06 14:17:32
    在Redhat Redflag centos fc linux系统里面脚本启动先后顺序: 第一步:通过/boot/vm进行启动 vmlinuz 第二步:init /etc/inittab 第三步:启动相应的脚本,并且打开终端 rc.sysinit rc.d(里面的脚本) rc...
  • linux 看门狗及自启动脚本 定时启动程序。自启动脚本: “Syntax error: “(” unexpected”的解决方法 sudo dpkg-reconfigure dash 在选择项中选No,搞定了! ./watchdog.sh
  • Linux开机自启动脚本的总结

    千次阅读 2017-08-04 16:35:39
    一、在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,... 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行; 如:$ vim /etc/rc.local #!/bin/sh # # This script will be executed *after* al
  • #service servicename status是当前状态 #chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 <br /> 首先写好脚本,如 mysql,把它放到 /etc/init.d 下,修改属性: $ ...
  • linux oracle sybase jboss 自启动脚本,自动备份脚本,的一整套脚本,有信心能看懂你就下,没信心看懂你就别下了,属于自己网络备份。
  • linux添加开机自启动脚本示例详解

    万次阅读 2017-02-17 18:19:47
    linux开机启动的顺序及添加开机自启动脚本的方法
  • linux下自动启动数据库脚本,有兴趣的可以看下,linux是怎么自启动Oracle数据库的
  • linux 开机自动启动脚本方法

    千次阅读 2009-01-02 14:43:00
    1)redhat的启动方式和执行次序是: 加载内核 执行init程序 /etc/rc.d/rc.sysinit # 由init执行的第一个脚本 /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 /etc/rc.d/rc.local #相应级别服务启动之后...
  • linux下开机自启动脚本(亲测)

    千次阅读 2019-02-20 15:25:03
    linux下开机自启动脚本自定义开机启动脚本 自定义开机启动脚本 网上很多方法都不可行,于是自己操作成功后写一个可行的开机启动脚本,可以启动各种内容 1.在根目录下创建beyond.sh文件 vi beyond.sh 2.输入以下内容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 304,524
精华内容 121,809
关键字:

linux设置自启动脚本

linux 订阅