精华内容
下载资源
问答
  • 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服务已经可以开机自动启动了。

    展开全文
  • 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 开机自启动多个脚本程序

    千次阅读 2020-03-02 17:14:48
    Linux 开机自启动程序

    本篇文章讲解Linux 开机自启动程序

      Linux开机自启动在项目中应用很常见,突然停电或者故障,程序总归要关掉的,如果手动去启动程序,比较麻烦,所以开机自启动是非常重要的一环。

      在Debian或者Ubuntu中,开机之后会调用一个脚本文件:/etc/rc.local,所以在这个文件中写好要启动的程序即可。Debian linux发行版系统现在可能没有rc.local文件了,不过没有关系,直接在/etc文件下新建一个rc.local文件即可,开机就会运行该程序。

      所以只要在该文件中直接启动你的程序即可,或者也可以启动一个脚本文件(.sh),在这个脚本文件中启动要启动的程序,下面就是rc.local文件内容的实例。

    	#!/bin/bash -e
    	location="/home/debian"     #脚本路径
    	cd $location
    	$location/rc.sh
    	$location/run.sh
        exit 0
    

      上面的rc.local文件中就另行启动了脚本文件(rc.sh)来运行自己的程序,以下就是rc.sh的内容,启动gateway程序。

    #!/bin/sh
    location=/home/debian/gateway20191211
    echo $location
    cd $location
    
    find $location/log -mtime +7 -type f |xargs rm -f
    out=$(date "+%Y-%m-%d")".txt"
    pwd
    $location/gateway >> $location/log/$out
    

      细心的朋友可能还发现其实上面rc.local运行了两个脚本,但是实际运行过程中只启动了第一个,这是因为第一个程序运行还没有结束,就不会运行第二个程序,所以这样基本上就不会个程序同时启动。

      如果要同时启动两个程序,则需要这样来写脚本文件,将两个脚本文件相与

    #!/bin/bash -e
    location="/home/debian"         #脚本路径
    cd $location
    $location/run.sh & $location/GetPID.sh
    exit 0
    

      此外如果还需要设计一个进程看门狗,监控该程序是否运行,则可以这样来写脚本:(先获取进程PID,然后再监控该PID是否存在)

    #!/bin/bash
    
    while true
    do
    
    process=gateway               #监控的程序运行名
    
    pid=$(ps -ef|grep $process |grep '/home/debian' | grep -v grep |awk '{print $2}')
    echo $pid
    
    if [ $pid -ne 0 ]
    then                 #如果程序PID在,则程序在运行
            echo `date`
            echo “pid is exitable!else                #否则程序没有运行,需要启动程序    启动的程序在run.sh文中。
            echo `date`
            echo "pid isnot exitable!"
            sudo sh run.sh >> $(date "+%Y-%m-%d")".txt"
    fi
    
    sleep 15s
    
    done
    
    exit 0
    

    该脚本一开机就运行,监控程序PID,如果发现没有,立即启动,15s检查一次。

    展开全文
  • Linux下Python脚本自启动和定时启动

    万次阅读 2018-01-29 11:51:39
    自启动脚本为auto.py 用root权限编辑以下文件 sudo vim /etc/rc.local 在exit 0上面编辑启动脚本的命令 /usr/bin/python3 /home/edgar/auto.py > /home/edgar/auto.log 最后重启Linux,脚本就能自动运行并打印...

    一、Python开机自动运行

    自启动脚本为auto.py

    用root权限编辑以下文件

    sudo vim /etc/rc.local

    在exit 0上面编辑启动脚本的命令

    /usr/bin/python3 /home/edgar/auto.py > /home/edgar/auto.log

    最后重启Linux,脚本就能自动运行并打印日志了。

    二、让Python脚本定时启动

    准备好定时启动的脚本auto.py

    用root权限编辑以下文件

    sudo vim /etc/crontab

    在文件末尾添加以下命令

    2 * * * * root /usr/bin/python3 /home/edgar/auto.py > /home/edgar/auto.log

    以上代码的意思是每隔两分钟执行一次脚本并打印日志。

    三、crontab编写解释

    基本格式

          * * * * * user command
         分 时 日 月 周 用户 命令

    四、举例说明

    1、每分钟执行一次

     * * * * * user command

    2、每隔2小时执行一次 
     * */2 * * * user command (/表示频率)

    3、每天8:30分执行一次
     30 8 * * * user command

    4、每小时的30和50分各执行一次 
     30,50 * * * * user command(,表示并列)

    4、每个月的3号到6号的8:30执行一次

     30 8 3-6 * * user command (-表示范围)

    5、每个星期一的8:30执行一次

     30 8 * * 1 user command (周的范围为0-7,0和7代表周日)




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

    千次阅读 2019-03-11 11:10:20
    整理一下 细节,曾经的...注释:此方式有弊端,当初也遇到一个大坑,主要就是环境变量的问题,表现就是手动运行可以,开机自启动不行,解决方式很简单,就是第一次不好排查原因,具体就不多说了,看看下面的玩法 ...
  • Linux开机自启动脚本的总结

    千次阅读 2017-08-04 16:35:39
    先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行; 如:$ vim /etc/rc.local #!/bin/sh # # This script will be executed *after* al
  • 文章目录:1 通过系统界面设置开机自动运行程序1.1 windows系统设置开机自动运行命令1.2 Linux开机设置开机自动运行命令2 Linux中设置开机自启动python脚本程序2.1 方法一:在`/etc/rc.local`中添加要运行的脚本命令...
  • #service servicename status是当前状态 #chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 <br /> 首先写好脚本,如 mysql,把它放到 /etc/init.d 下,修改属性: $ ...
  • 这篇文章主要介绍了Linux下Python脚本自启动和定时启动的详细步骤,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一、Python开机自动运行 假如Python自启动脚本为 auto.py 。那么用root...
  • 因为工作需要,现在在Tiny Core Linux自启动时加入了一个监控脚本,监控某个进程启动后,在图形界面打开一个terminal,执行另一个脚本。结果就报了两行错误: Xlib: connection to ":0.0" refused by server Xlib: ...
  • linux 自己编写脚本,开机自动启动

    千次阅读 2014-02-22 16:18:23
    很多时候,我们想要给系统添加一个开机自动启动脚本,用来解决一些问题,比如snmp服务,tomcat服务等。 这个时候,我们可以自己手动写一个启动脚本,并且添加到开机自动启动项目里面。这样子每次开机就可以自动...
  • linux添加开机自启动脚本示例详解

    万次阅读 2017-02-17 18:19:47
    linux开机启动的顺序及添加开机自启动脚本的方法
  • linux嵌入式开发板,设置系统自动登录和自动运行脚本或程序,下面一一进行说明。 一、系统自动登录   1.1、在实验板添加logintest脚本 logintest脚本位置:/home/root/ //个人看自己放置位置 logintest内容: ...
  • linux如何编写自启动shell脚本

    万次阅读 2017-12-19 18:00:31
    1.需求分析 ...今天笔者就如何编写自启动shell脚本减少程序员开启服务器后的环境开启工作; 2.配置环境 linux版本:centos-6.3 jdk:1.8 tomcat: 9.0 3.实现方案 ①抒写脚本 #!/bin/sh #chkconfig: 2345 80
  • [http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html]有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务主要用三种方式进行这一操作:ln -s 在/etc/rc.d/rc*.d目录中建立/etc/i
  • 设置Suse Linux自启动脚本

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

    千次阅读 2020-05-25 15:50:57
    供测试的python脚本testboot.py(确认你的python3路径二选一): #!/usr/bin/python3 with open('testboot.txt',"w") as f: print('test') f.write('testboot\n') f.close() 或者: #!/usr/local/bin/python3 ...
  • linux下开机自启动脚本(亲测)

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

    千次阅读 2018-09-06 14:17:32
    在Redhat Redflag centos fc linux系统里面脚本启动先后顺序: 第一步:通过/boot/vm进行启动 vmlinuz 第二步:init /etc/inittab 第三步:启动相应的脚本,并且打开终端 rc.sysinit rc.d(里面的脚本) rc...
  • Linux脚本启动jar包

    万次阅读 2019-03-13 14:58:30
    如果在Linux上使用,请使用vi命令编该文件,改为Unix格式。笔者使用的SpringBoot + jsp 因此使用的是war包,如果你使用的是jar包,在文中用到war的地方改成jar就行。 一:脚本auto_deploy.sh 使用该脚本只需要修改...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 298,125
精华内容 119,250
关键字:

linux脚本自启动

linux 订阅