Operations 22 min read

Boost SpringBoot Production Management with a Visual Service Script

This article introduces a powerful visual service‑management script for SpringBoot applications that replaces manual start‑stop commands with an interactive, color‑coded console, offering configuration‑driven control, intelligent start/stop flows, real‑time monitoring, log handling, batch operations, automated deployment and safe rollback to dramatically improve operational efficiency and reliability.

Code Ape Tech Column
Code Ape Tech Column
Code Ape Tech Column
Boost SpringBoot Production Management with a Visual Service Script

Pain Points of Traditional Deployment

Developers often face cumbersome manual operations, unclear service status, scattered log locations, difficult rollbacks, and increased complexity when managing multiple microservices, which reduces efficiency and raises production risk.

Solution: Visual Service Manager

Visual UI

A colorful terminal interface presents a clear overview of all services, their ports, and current status.

#################### SpringBoot服务管理器 ####################
当前时间: 2024-01-15 14:30:25
配置文件: /path/to/services.conf
日志目录: /path/to/logs

================== 服务列表 ==================
序号 服务名称              端口       状态
-----------------------------------------------
1   user-service          8080      运行中 (PID: 1234, Port: 8080)
2   order-service         8081      已停止
3   payment-service       8082      启动中 (PID: 5678)
===============================================

Configuration‑Driven Management

All services are defined in a simple services.conf file, enabling unified and flexible configuration.

# services.conf 配置格式
# 服务名称|JAR路径|端口|环境|JVM参数
user-service|/opt/apps/user-service.jar|8080|prod|-Xms512m -Xmx1024m
order-service|/opt/apps/order-service.jar|8081|prod|-Xms256m -Xmx512m

Intelligent Start/Stop Mechanism

The script performs a graceful start sequence: verify JAR, check port availability, build the launch command, start in background, run health checks, and confirm status.

检查JAR文件 → 验证端口可用性 → 构建启动命令 
→ 后台启动服务 → 健康检查 → 状态确认

Stopping follows a safe shutdown flow:

发送TERM信号 → 等待优雅停止 → 超时强制终止 → 状态确认

Full‑Scope Monitoring

Real‑time service status, resource usage, and system metrics are displayed on demand.

==================== 服务详细信息 ====================
服务名称: user-service
运行状态: 运行中 (PID: 1234, Port: 8080)
内存使用: 345.6 MB
CPU使用: 12.5%
启动时间: Dec 15 14:30
日志大小: 25.3M
======================================================
==================== 系统资源信息 ====================
CPU使用率: 15.2%
内存使用: 4.2G / 8.0G
磁盘使用: 25G / 50G (52%)
Java进程: 3个运行中
======================================================

Smart Log Management

Supports real‑time tailing, viewing the last N lines, full browsing with less, and automatic log rotation.

请选择查看方式:
1) 查看最后50行
2) 查看最后100行
3) 实时跟踪日志
4) 查看全部日志

Batch Operations

One‑click actions for starting, stopping, restarting, or checking the status of all services.

==================== 批量操作菜单 ====================
1) 启动所有服务
2) 停止所有服务 
3) 重启所有服务
4) 查看所有服务状态
======================================================

Automated Deployment Solution

One‑Click Deploy Flow

A single command triggers the full deployment pipeline, including environment checks, version backup, graceful stop, file copy, start, health verification, and cleanup. ./deploy.sh deploy app-1.0.0.jar Key steps:

1. Environment check

2. Version backup

3. Service stop (graceful)

4. File deployment

5. Service start

6. Health check

7. Cleanup old backups (retain last 5)

Safe Rollback Mechanism

If deployment fails, the script automatically rolls back to the latest backup. ./deploy.sh rollback • 自动查找最新备份版本

• 停止问题版本服务

• 恢复备份文件

• 重启服务并验证

Real‑World Application Scenarios

Microservice Cluster Management

Traditional manual login to each server and individual start/stop commands can take over 30 minutes. Using the script, a single interface manages all services, batch operations complete in minutes, and status is instantly visible, improving efficiency tenfold.

Version Release Management

Before release, the script lists all service statuses. During release, each service is updated with a single command, followed by health checks.

Incident Response

When an issue occurs, operators quickly locate the affected service via monitoring, view real‑time logs, and either restart or roll back the service, then assess impact through system resource metrics.

Best‑Practice Recommendations

Configuration Management

Use version control for configuration files.

Separate configurations per environment.

Regularly back up configuration files.

Monitoring & Alerts

Integrate with external monitoring systems.

Set alerts on key metrics.

Establish clear incident response procedures.

Security Considerations

Restrict script execution permissions.

Run under non‑root users.

Periodically clean sensitive logs.

Performance Optimization

Fine‑tune JVM parameters.

Monitor service resource consumption.

Regularly optimize configuration settings.

Conclusion

The Bash‑based SpringBoot service‑management solution combines a visual interface, intelligent lifecycle handling, comprehensive monitoring, and automated deployment to dramatically increase operational efficiency while reducing risk, making it ideal for single‑node multi‑service or small‑scale microservice environments.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

MonitoringspringbootbashService Management
Code Ape Tech Column
Written by

Code Ape Tech Column

Former Ant Group P8 engineer, pure technologist, sharing full‑stack Java, job interview and career advice through a column. Site: java-family.cn

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.