Skip to content

Latest commit

 

History

History
86 lines (70 loc) · 1.67 KB

一键部署脚本.md

File metadata and controls

86 lines (70 loc) · 1.67 KB

脚本要点

shell 脚本:
wget,tar,zip,
cd,ls,rm,cp,mkdir
echo,sed,ps,netstat
grep,awk,,wc,head,tail,exit
1. 参数的输入

明确入参

2. 用法检查

检测用户的入参数,提示用户怎么用,比如说 ./install.sh -P /data/root/test 脚本说明:

if [ $# -lt 2 ]; then
    echo "Usage:"
    echo "    ./install.sh -P /data/root/test"
    exit 1
fi

3. 读取配置文件,获取参数

读取配置文件,解析配置文件的参数,检查配置是否合理 假设使用的配置是test.ini

$ cat test.ini
[mysql]
ip=127.0.0.1
port=3306
  • 读取配置文件和参数
value=$(crudini --get $file $section $param)
mysql_ip=$($value "mysql" "ip")

通过上面可以获取mysql_ip

  • 检查配置
function checkIp(){
    if [[ $ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
      exit 0
    else
      echo "fail"
      exit 1
    fi
}

function checkPort(){
    local port="$1"
    local -i port_num=$(to_int "${port}" 2>/dev/null)

    if (( $port_num < 1 || $port_num > 65535 )) ; then
        echo "*** ${port} is not a valid port" 1>&2
        exit 1
    fi
}
4. 拼接参数和安装模块
  • 如果有不同模块安装,用户需要进行并且参数,并安装其他的模块。
5. 编写启动脚本、停止脚本
  • 启动服务脚本
  • 停止服务脚本
  • 监控脚本
6. 编写监控脚本

通过crontab,进行服务的拉起

7. 检查服务脚本

编写curl 脚本,查看服务是否正常

8. 其他
  • 统一处理控制台输屏
9. 初始化系统
  • 如果有mysql,导入数据库结构和数据
10. 检查服务
  • 检查关键业务是否正常