#!/bin/bash
# 服务列表services=( "ecs_mq" # ECS 消息队列服务 "aliyun" # 阿里云服务 "cloud-config" # 云初始化服务 "cloud-final" # 云初始化服务 "cloud-init-local" # 云初始化服务 "cloud-init" # 云初始化服务 "kdump" # 内核崩溃转储服务 "libstoragemgmt" # 存储管理服务 "smartd" # 硬盘健康监控 "mcelog" # CPU 错误日志记录 "rpcbind" # RPC 服务,主要用于NFS(网络文件系统) "nis-domainname" # NIS(网络信息服务)域名服务 "loadmodules" # 模块加载,如果你没有特殊硬件驱动需求,可以禁用)
# 显示菜单show_menu() { echo "==================================" echo " 服务批量管理工具" echo "==================================" echo "1. 禁止开机启动(disable)" echo "2. 停止服务(stop)" echo "3. 设置开机启动(enable)" echo "4. 启动服务(start)" echo "5. 重启服务(restart)" echo "10. 检查服务状态" echo "0. 退出" echo "=================================="}
# 批量操作函数batch_operation() { local action=$1 local action_name=$2 echo "开始批量$action_name服务..." echo "------------------------" for service in "${services[@]}"; do echo -n "正在$action_name: $service ... " sudo systemctl "$action" "$service" >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "✓ 成功" else echo "✗ 失败" fi done echo "------------------------" echo "批量$action_name操作完成!"}
# 检查状态check_status() { echo "==================================" echo " 服务状态检查" echo "==================================" printf "%-25s %-20s %-15s\n" "服务名" "开机启动" "运行状态" echo "------------------------------------------------------" for service in "${services[@]}"; do # 检查开机启动状态(使用sudo) if sudo systemctl is-enabled "$service" >/dev/null 2>&1; then enabled_status="已启用开机启动" else enabled_status="未启用开机启动" fi # 检查运行状态(使用sudo) if sudo systemctl is-active "$service" >/dev/null 2>&1; then active_status="运行中" else active_status="已停止" fi # 格式化输出 printf "%-25s %-20s %-15s\n" "$service:" "$enabled_status" "$active_status" done echo "=================================="}
# 主循环while true; do show_menu read -p "请输入操作编号: " choice case $choice in 1) batch_operation "disable" "禁止开机启动" ;; 2) batch_operation "stop" "停止" ;; 3) batch_operation "enable" "设置开机启动" ;; 4) batch_operation "start" "启动" ;; 5) batch_operation "restart" "重启" ;; 10) check_status ;; 0) echo "退出程序" exit 0 ;; *) echo "输入错误,请输入0-10之间的数字" ;; esac echo "" read -p "按回车键继续..." pause cleardone
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情