Shell如何操作开发企业级服务启动脚本
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本文主要给大家介绍Shell如何操作开发企业级服务启动脚本,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下Shell如何操作开发企业级服务启动脚
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
网络安全法何时开始实施的
入股交友软件开发可行吗
sql数据库建表心得体会
内网安全防护服务器品牌
网络安全宣传工作新闻
戴尔服务器更换主板电池后不开机
智能鸡舍环控系统软件开发
软件开发编码过程能力
网络安全微课有用吗
推荐软件开发培训
小学生黑客入侵迷你服务器
互联网科技作文900
高校网络安全工作会议方案
虚幻5服务器配置
软件开发毕业适合找什么工作
网络安全 能力提升
塔式服务器散热能力
2021漯河网络安全
linux同步服务器时间
网络安全和信息化建设论文
ftp服务器功能
网络安全 软件工程就业前景
软件开发专业好的二本大学
规模大的浪潮服务器代理商哪里有
浦东新区信息软件开发厂家价格
梦幻如何清除没有角色的服务器
上海超巨网络技术有限公司
武汉网络安全教育培训
市场调研数据库
软件开发项目技术目标