精华内容
下载资源
问答
  • 主要介绍了ubuntu中编写shell脚本开机自动启动,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Ubuntu中编写shell脚本开机自动启动 1. 编写shell脚本 Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具,也是基于知识的编辑器,属于开放源代码...

    Ubuntu中编写shell脚本开机自动启动

    1. 编写shell脚本

    service.sh脚本示例:

    #! /bin/bash
    
    date
    echo "Game start! $player1 $player2"
    
    sh /home/kent/Tools/apache-tomcat-9.0.0.M22/bin/startup.sh
    java -jar /home/kent/IdeaProjects/XIO-Scada/order-management/target/order-management.jar
    

    2. 设置开机自动启动

    编写脚本设置开机自动启动,是为了不用手动去开启各种服务,以免解决电脑重启带来的不便

    2.1 移动test.sh文件到/etc/init.d目录下

    mv test.sh /etc/init.d/
    

    2.2 给文件增加权限

    chmod +750 test.sh
    

    2.3 设置开机自动启动

    sudo update-rc.d test.sh defaults
    

    这样一个开机自动化脚本就完成了。

    3. sh延时执行命令

    sleep 1    # 表示延迟1秒
    sleep 1s   # 表示延迟1秒
    sleep 1m   # 表示延迟1分
    sleep 1h   # 表示延迟1小时 
    sleep 1d   # 表示延迟一天
    
    展开全文
  • 通过编写一段shell脚本,让linux服务器能够在开机的时候启动某个jar包,因此,shell脚本初步得有三个功能 1 判断jar包绑定的端口是否被占用 用最高的权限来查找占用的进程,并返回pid 如果占用,则用最高的权限kill...

    通过编写一段shell脚本,让linux服务器能够在开机的时候启动某个jar包,因此,shell脚本初步得有三个功能

    • linux 字符串变量使用的四种方法
    var=variable
    var1=var1
    var2=var2
    str1="this is${var}" #和其他字符连接紧密的时候需要用{}隔开
    str2=$var1$var2 #中间不能有空格
    str3="$var1 $var2" #中间可以有空格
    str4=$var1" "$var2
    
    • shell的类型
      sh,bash,ksh等
      本次的shell脚本是bash类型的
    #!/bin/bash
    
    • 基本参数

      jar包路径
      端口id

    #这里路径和端口都是固定的,可以更改为参数化设置
    jarPath=""
    xiongAnJarPath=""
    servicePort=8081
    
    • 判断jar包绑定的端口是否被占用

      用最高的权限来查找占用的进程,并返回pid
      如果占用,则用最高的权限kill占用的

    processId=`sudo netstat -lnp|grep ${servicePort} |awk '{print $7}'`
    if [ $processId ];then 
            #delete the variables from the tail until the first, assign those to apid
            apid=${processId%/*}
            echo "the process number of port ${servicePort} is:$apid"
            #kill those processes
            sudo kill -9 $apid
            echo "kill the process which takes up the port ${servicePort}(pid:$apid)"
    else
            echo "no process takes up the port ${servicePort}"
    fi
    
    • 判断需要启动的jar包是否存在
    • 同时使用nohup记录标准输入和标准错误,要保证后台运行,以后可能会遇到nohup.out文件过大等问题,真遇到了再做打算
    xiongAnParentDir=""
    xiongAnlogPath="${xiongAnParentDir}nohup.out"
    echo $xiongAnlogPath
    startCommandXiongAn="nohup java -jar ${xiongAnJarPath} >> ${xiongAnlogPath} 2>&1 &"
    startCommand="nohup java -jar ${jarPath} >> ${xiongAnlogPath} 2>&1 &"
    
    #whether that the file exists or not
    if [ -f ${xiongAnJarPath} ]||[ -f ${jarPath} ];
    then
        if [ -f ${xiongAnJarPath} ] ;
        then
            echo "------${xiongAnJarPath} started------"
            $startCommandXiongAn
     
        fi
        if [ -f ${jarPath} ] ;
        then
            echo "------${jarPath} started------"
            $startCommand
    
        fi
    fi
    
    • linux开机即启动脚本有如下几种方式

    Linux—添加开机启动(服务/脚本)

    将写好的shell放置到/etc/profile.d/ 目录下即可

    • 可以优化的点
      jar包的路径和端口可以作为参数配置写入脚本
      脚本是否需要启动一个进程判断jar服务是否活着,如果服务停了就开启
    展开全文
  • 编写脚本是为了开机自动启动各种服务 进入终端输入: 创建一个后缀为.sh的脚本文件 touch test.sh 编辑脚本 vim test.sh 编写test.sh脚本,例如: #!/bin/bash ### begin init info # provides: test # required...

    编写脚本是为了开机自动启动各种服务

    1. 进入终端输入:
      创建一个后缀为.sh的脚本文件
      touch test.sh
    2. 编辑脚本
      vim test.sh
    3. 编写test.sh脚本,例如:
    #!/bin/bash
     
    ### begin init info
    # provides:     test
    # required-start:  $remote_fs $syslog
    # required-stop:   $remote_fs $syslog
    # default-start:   2 3 4 5
    # default-stop:   0 1 6
    # short-description: start test
    # description:    start test
    ### end init info
     
    #此处编写脚本内容
    cd /home/desktop/
    ./test.sh
    exit 0
    

    #!/bin/bash开头 中间写脚本内容 exit 0结尾

    1. 移动test.sh文件到/etc/init.d目录下

      sudo mv test.sh /etc/init.d/

      给文件增加权限

      chmod +750 test.sh

    2. 设置开机自动启动
      sudo update-rc.d test.sh defaults

    3. 完成

    说明,Ubuntu18.04这种方法无效!

    Ubuntu18.04设置程序开机自启
    编辑rc.local.service并添加[Install]内容:(注意:1.文件位置,2.是Install添加了两行内容)

    sudo vi /lib/systemd/system/rc.local.service
    
    [Install]
    WantedBy=multi-user.target
    Alias=rc-local.service
    
    

    如果你之前是在/etc/systemd/system/rc-local.service下,请先rm掉

    sudo rm /etc/systemd/system/rc-local.service
    

    启用服务

    sudo systemctl enable rc.local.service
    sudo systemctl status rc-local.service
    

    该文件是自动执行的脚本文件,把要执行的内容放在exit 0前就可以

    #!/bin/bash
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
    exit 0
    
    

    重启电脑,检查你的脚本是否执行了

    reboot
    cat /usr/local/test.txt
    
    展开全文
  • 使用shell编写服务启动脚本1. 安装nginx2. 启动和关闭nginx3. 服务启动脚本编写 1. 安装nginx 首先在官网获得nginx的安装包 tar zxf nginx-1.16.1.tar.gz cd nginx-1.16.1/ yum install gcc zlib zlib-devel ...
  • test.sh编写脚本内容 2.编写test.sh脚本 #!/bin/bash ### BEGIN INIT INFO # Provides: test # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-...

    1.进入终端输入

    创建一个后缀为.sh的脚本文件

    touch test.sh

    编辑脚本

    vim test.sh

    test.sh编写脚本内容

    2.编写test.sh脚本

    #!/bin/bash
     
    ### BEGIN INIT INFO
    # Provides:     test
    # Required-Start:  $remote_fs $syslog
    # Required-Stop:   $remote_fs $syslog
    # Default-Start:   2 3 4 5
    # Default-Stop:   0 1 6
    # Short-Description: start test
    # Description:    start test
    ### END INIT INFO
     
    #此处编写脚本内容
    cd /home/Desktop/
    ./test.sh
    exit 0
    以#!/bin/bash开头 中间写脚本内容 exit0结尾
    

    给文件增加权限
    chmod +750 test.sh

    3.移动test.sh文件到/etc/init.d目录下
    移动文件
    sudo mv test.sh /etc/init.d/

    设置开机自动启动
    sudo update-rc.d test.sh defaults
    python自启脚本
    https://blog.csdn.net/qq_29113041/article/details/78675396

    展开全文
  • ubuntu编写开机启动shell脚本

    万次阅读 2013-01-04 21:33:25
    1、首先编写一个简单的shell脚本  vimtest.sh(不习惯使用vim可以使用nano)  进入vim后按i键,然后输入(#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。) #!/bin/bash echo"Helloworld!...
  • 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
  • 1、方案参考:https://wangheng.org/ubuntu-to-add-boot-script.html/2、遇到的问题【Linux】执行shell脚本出现异常:bad interpreter: No such file or directory如何解决参考方案:...
  • From:... 1、首先编写一个简单的shell脚本test.sh #! /bin/bash echo "Hello world!" filename=`date"+%Y%m%d"` echo $filename 2、设置脚本开机启动 方法一:  编辑/etc/ini...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,080
精华内容 5,632
关键字:

编写shell开机启动脚本