千家信息网

Shell如何操作开发企业级服务启动脚本

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文主要给大家介绍Shell如何操作开发企业级服务启动脚本,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下Shell如何操作开发企业级服务启动脚
千家信息网最后更新 2025年11月07日Shell如何操作开发企业级服务启动脚本

本文主要给大家介绍Shell如何操作开发企业级服务启动脚本,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下Shell如何操作开发企业级服务启动脚本吧。

说明:

MySQL启动命令为:

/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null &

停止命令逻辑脚本为:

mysqld_pid=`cat "$mysqld_pid_file_path"`if (kill -0 $mysqld_pid 2>/dev/null)  then    kill $mysqld_pid    sleep 2fi

请完成MySQL启动脚本的编写,并实现可以使用chkconfig配置开机自启动。

要求:用函数,case语句、if语句等实现。

解答:此题的技巧适合绝大多数启动脚本,例如:rsync,nginx等,仅以MySQL为例介绍思路。

简单、易用、高效、专业

#!/bin/bash# chkconfig: 2345 64 36# description: MySQL startup# Author:oldboy# Blog:http://oldboy.blog.51cto.com# Time:2017-07-07 09:24:34# Name:mysqld# Version:V1.0# Description:This is a test script.[ -f /etc/init.d/functions ] && source /etc/init.d/functionsbindir="/application/mysql/bin"datadir="/application/mysql/data"mysqld_pid_file_path="/application/mysql/`hostname`.pid"PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" #此步对开机启动及定时启动及其关键。export PATHreturn_value=0# Lock directory.lockdir='/var/lock/subsys'lock_file_path="$lockdir/mysql"log_success_msg(){     echo " SUCCESS! $@" # 注意函数的缩进,下同,也是专业的表现,可放到functions里。}   log_failure_msg(){         echo " ERROR! $@"}  # Start Funcstart(){    # Start daemon    echo "Starting MySQL"    if test -x $bindir/mysqld_safe  # 启动文件是否可执行。    then        $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path"  >/dev/null &        return_value=$? # 是否处理好返回值是区别脚本是否专业规范的关键。        sleep 2        # Make lock for CentOS        if test -w "$lockdir"   # 锁目录是否可写。        then            touch "$lock_file_path"  # 创建锁文件。        fi        exit $return_value    else        log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"    fi}# Stop Funcstop(){    if test -s "$mysqld_pid_file_path" # 是否PID文件存在并大小大于0。    then        mysqld_pid=`cat "$mysqld_pid_file_path"`        if (kill -0 $mysqld_pid 2>/dev/null) # 检查PID对应的进程是否存在。        then            echo "Shutting down MySQL"            kill $mysqld_pid  # 不能带-9,否则后果自负。            return_value=$?            sleep 2        else            log_failure_msg "MySQL server process #$mysqld_pid is not running!"            rm -f "$mysqld_pid_file_path"        fi        # Delete lock for Oldboy's CentOS        if test -f "$lock_file_path"        then            rm -f "$lock_file_path"        fi        exit $return_value    else        log_failure_msg "MySQL server PID file could not be found!"    fi}case "$1" in    start)                    start        ;;    stop)        stop        ;;    restart)        if $0 stop; then           $0 start        else           log_failure_msg "Failed to stop running server, so refusing to try to start."           exit 1        fi        ;;    *)        echo "Usage: $0  {start|stop|restart}"        exit 1esacexit $return_value #是否处理好返回值是区别脚本是否专业规范的关键。

看完以上关于Shell如何操作开发企业级服务启动脚本,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

脚本 专业 企业 开发 服务 关键 文件 函数 命令 笔者 行业 语句 处理 信息 内容 后果 大小 思路 意义 技巧 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家网络安全政策的优越性 云和恩墨数据库审计 无线网络技术应用题 具有期刊导航功能的数据库有哪些 网络安全技术检测措施 网络安全云概念 锐测等保网络安全工程师 北京中普金服互联网科技集团 手持设备抄表软件开发 网络安全运维服务合同模板 江苏刀片服务器云空间 数据库服务器不联网渗透测试 在服务器里怎么安装mysql 嵌入式软件开发常见问题 数据库如何还原.psc 数据库每条数据多大 aisino数据库更新失败 酒店网络技术安全保护 强制断开某个数据库用户的进程 对象保存到数据库 安徽华为服务器维修维保哪家好 网络安全技能实训 东营智慧社区软件开发哪儿好 h3c 服务器bmc默认密码 网络安全与信息化的核心要素 宝山区品牌网络技术管理方法 新疆淘金谷 电脑版 游戏服务器 软件开发应届简历模板 昆明服务器上门回收价格 数据库技术及应用期末考试答案
0