centos7 自启动脚本

环境

 centos7, docker,docker postgresql, python3+, project

原因

每次虚拟机重启之后数据库就会宕掉,每次重启之后,还容易忘记关闭防墙

步骤

  • 编写sh脚本

    #! /bin/sh
    # chkconfig:2345 80 90
    # description:tttt.sh
    echo "colse firewall"
    systemctl stop firewalld.service
    echo "shart docker"
    systemctl start docker
    echo "start postgres"
    docker start postgres1
    echo "start project"
    nohup /home/python3/bin/python3 /home/backend/main.py start > /home/backend/test.log 2>&1 &

    注释:

    #!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。
    chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息。
  • 测试方式

   在于sh同级目录上输入

./tttt.sh     tttt指脚本名称

 

   出现sh中的echo内容就表示sh脚本内容通过了

   

 方法

  • 1、 修改rc.local        

    1. 赋予rc.local可执行权限
      chmod +x /etc/rc.d/rc.local
    2. 赋予脚本可执行权限(/usr/local/script/autostart.sh是你的脚本路径)
      chmod +x /home/tttt.sh
    3. 打开/etc/rc.d/rc.local文件,在末尾增加如下内容

      /home/tttt.sh
  • 2、chkconfig管理

    1. 在/etc/init.d 目录中添加test文件,并想test文件中写入
      #!/bin/bash
      # chkconfig: 3 88 88
      /home/tttt.sh
    2. 赋予可执行权限
      chmod +x /etc/init.d/test
    3. 添加到chkconfig,开机自启动
      chkconfig --add test
    4. 查看是否添加成功
      chkconfig --list test

      如:

       (已成功)

    5. 删除服务
      chkconfig --del  test

验证

重启服务器

reboot

然后查看是否启动docker,以及对应的镜像(有镜像表示成功)

docker ps

或者查看防火墙是否关闭(not running   表示脚本成功)

firewall-cmd --state

 

 

 

 

posted @ 2021-06-23 15:03  独丨恋  阅读(121)  评论(0编辑  收藏  举报