当前位置: 首页 > news >正文

linux centos 脚本批量启动宝塔服务(二)

相比较于《linux centos 脚本批量启动宝塔服务(一)》
 

改进点说明:

  1. 使用函数start_service统一处理服务启动逻辑,使代码更简洁且易于维护
  2. 增加了服务状态检查:如果服务已在运行,则跳过启动操作
  3. 即使某个服务启动失败,脚本会继续执行后续服务的启动
  4. 增加了计数功能,最后会汇总显示成功和失败的服务数量
  5. 脚本最终的退出码取决于是否有服务启动失败(0 表示全部成功,1 表示有失败
#!/bin/bash# 初始化成功和失败计数器
success_count=0
fail_count=0
total_count=0# 定义启动服务的函数
start_service() {local service_name=$1total_count=$((total_count + 1))echo "------------------------"echo "处理 $service_name ..."# 检查服务是否已在运行if systemctl is-active --quiet "$service_name"; thenecho "$service_name 已在运行中,无需启动"success_count=$((success_count + 1))return 0fi# 尝试启动服务if systemctl start "$service_name"; thenecho "$service_name 启动成功"success_count=$((success_count + 1))return 0elseecho "$service_name 启动失败"fail_count=$((fail_count + 1))return 1fi
}# 按顺序启动各个服务
start_service "nginx"
start_service "redis"
start_service "php-fpm-80"
start_service "mysqld"
start_service "supervisord"# 显示汇总结果
echo "------------------------"
echo "所有服务处理完成"
echo "总服务数: $total_count"
echo "启动成功: $success_count"
echo "启动失败: $fail_count"# 根据是否有失败决定最终退出码
if [ $fail_count -eq 0 ]; thenexit 0
elseexit 1
fi

使用方法:

  1. 将上述代码保存为start_services.sh
  2. 赋予执行权限:chmod +x start_services.sh
  3. 运行脚本:./start_services.sh

备注:

  • 不同系统上的服务名称可能略有不同(例如 PHP 可能是php74-fpm,MySQL 可能是mysqldmariadb),如果启动失败,请检查并修改相应的服务名称
  • 可能需要使用sudo权限运行:sudo ./start_services.sh
  • 需要查找服务名称使用下面的命令,如:
  • systemctl list-unit-files | grep -i mysql

     nginx可能需要特殊处理,使用下面命令

    # Nginx特殊处理:直接检查进程是否存在(避开systemd状态检测问题)if [ "$service_name" = "nginx" ]; then# pgrep -x 精确匹配进程名"nginx",存在则返回0(成功)if pgrep -x "nginx" > /dev/null; thenreturn 0  # 进程存在,视为运行中elsereturn 1  # 进程不存在,视为未运行fifi

http://www.dtcms.com/a/399168.html

相关文章:

  • 云平台网站叫什么泰州公司做网站
  • 信息系统项目的规划绩效域
  • python+vue的实践性教学系统Java
  • Jupyter 中指定 Python 环境的几种方法
  • 南京网站排名软装设计公司排行
  • 网络营销活动策划南宁seo多少钱报价
  • BGP的内外之道
  • vue 在el-tabs动态添加添加table
  • 角色的视角移动朝向 控制
  • WebStorm 借助 Docker 插件一键部署前端项目到开发环境
  • 静态企业网站模板做律师网站公司
  • 江苏网站建设 博敏网站免费logo在线设计生成
  • 做百度竞价用什么网站黄石网站建设
  • 为中国品质“代言”,牧原比想象中更硬核
  • 查看网站的注册时间画logo的手机软件
  • Claude Code + Playwright MCP(Windows)完整指南
  • 学校网站开发分析报告教学网站建设 效益
  • Spark源码中的ReentrantLock
  • 贪心算法之会议安排问题
  • 凡科小程序价格嘉兴网站的优化
  • 设计模式(C++)详解——职责链模式 (Chain of Responsibility)(2)
  • 群辉nas怎么做网站品牌推广服务
  • 【RabbitMQ】RabbitMQ核心机制
  • 网站开发软件三剑客wordpress分享可见
  • GelSight Modulus 触觉型3D轮廓仪助力航空航天精密检测
  • 北京 旅游攻略 颐和园(第一天下午逛) 长城最后一天早上逛 如果到北京早 也可以第一天长城
  • 网站的做用百度做网站按点击量收费吗
  • 程序的流程方式
  • python做网站验证码常州如何进行网站推广
  • C#语法回忆零散巩固(持续更新最新版)