MinIO 자동화 운영을 위한 환경설정과 윈도우 배치 파일 작성
by rowing0328Intro
윈도우 환경에서 MinIO를 반복해서 운영하다 보면
매번 콘솔 명령어를 복사 / 붙여넣기 하고,
설정 바뀔 때마다 명령어를 수정하고,
심지어 프로세스 종료까지 직접 찾아서 해야 하는 번거로움이 생긴다.
"한 번에 깔끔하게, 클릭 한 번에 실행 및 종료까지!"
이게 자동화 스크립트의 매력이다.
이번 글에선
환경설정부터 실행, 우아한 종료까지
누구나 복붙만 하면 쓸 수 있는 배치 파일 템플릿을 소개한다.
준비물
- MinIO 실행파일: minio.exe
- 환경설정파일: minio_config.ini
- 실행용 배치파일: minio_start.bat
환경설정파일 구조
설정만 바꿔주면 서버 계정 / 포트 / 저장 경로도 자동 반영된다.
자동화 배치 스크립트
@echo off
chcp 65001 >nul
REM INI 파일에서 key=value만 읽어서 환경변수로 세팅
for /f "usebackq tokens=1,* delims==" %%A in (`findstr /v /r "^$begin:math:display$.*$end:math:display$;" minio_config.ini`) do (
set "%%A=%%B"
)
REM MinIO 서버를 백그라운드로 실행
start "" /B "%~dp0minio.exe" server %MINIO_DATA_DIR%
REM MinIO 서버가 준비될 때까지 잠깐 대기 (필요에 따라 2~5초 조정)
timeout /t 2 >nul
echo ----------------------------------------
echo MinIO 서버가 실행되었습니다.
echo 서버를 우아하게 종료하려면 "q" 키를 누르세요.
echo ----------------------------------------
REM 실행중인 MinIO 프로세스의 PID 가져오기 (여러 개 있을 경우 가장 위에 있는 것)
for /f "tokens=2 delims=," %%i in ('tasklist /FI "IMAGENAME eq minio.exe" /NH /FO CSV') do (
set MINIO_PID=%%~i
goto :afterPID
)
:afterPID
:wait_key
set /p user_input="종료하려면 'q' 입력 후 Enter: "
if /i "%user_input%"=="q" goto :stop_server
goto :wait_key
:stop_server
echo 서버를 종료합니다...
taskkill /PID %MINIO_PID% /F
echo MinIO 서버가 정상적으로 종료되었습니다.
pause
[ 설명 ]
- chcp 65001
한글 메시지 깨짐 방지 (UTF-8 인코딩) - 환경변수 세팅
INI에서 key=value만 뽑아 즉시 환경변수로 등록
set "%%A=%%B" 방식으로 안전하게 입력값 처리 - start /B
MinIO를 "백그라운드"로 실행해 터미널을 점유하지 않음 - timeout
MinIO 서버가 뜨는 데 약간의 시간이 필요하므로 2초 대기
필요하다면 5초로 늘려도 무방 - PID 탐색
tasklist로 minio.exe의 PID를 잡아 저장
여러 개 띄울 경우 첫번째(최상단) 프로세스 기준이니 주의 - set /p & 종료 감시 루프
q 입력 시 종료 신호 전송
강제 종료 옵션 /F는 필요에 따라 제거 가능 - pause
스크립트 마지막에 잠시 멈춰 사용자에게 안내
환경변수의 휘발성
윈도우 배치 파일에서 등록하는 환경변수는
해당 배치 파일로 실행한 MinIO 서버 프로세스에서만 일시적으로 적용된다.
즉, 이 값들은 윈도우 전체(시스템 환경변수)에는
영구적으로 저장되지 않는다.
마무리
윈도우 환경에서도
클릭 한 번에 실행-종료-환경설정까지 자동화된 스크립트를 쓰면
실수도 줄고, 팀원들과 환경 공유도 쉬워진다.
작은 자동화부터 꾸준히 쌓아가다 보면
DevOps 감각도, 시스템 신뢰성도 자연스럽게 따라올거다.
참고 자료:
MinIO Official Web Site - MinIO Object Storage for Windows
MinIO Object Storage for Windows — MinIO Object Storage for Windows
MinIO Object Storage for Windows Table of Contents MinIO is an object storage solution that provides an Amazon Web Services S3-compatible API and supports all core S3 features. MinIO is built to deploy anywhere - public or private cloud, baremetal infrastr
min.io
Windows Server Official Web Site - cmd
cmd
Reference article for the cmd command, which starts a new instance of the command interpreter.
learn.microsoft.com
Windows Server Officail Web Site - taskkill
taskkill
Reference article for the taskkill command, which ends one or more tasks or processes.
learn.microsoft.com
'📌ETC > Development Log' 카테고리의 다른 글
MinIO로 버킷 관리부터 이벤트 자동화까지 (3) | 2025.07.10 |
---|---|
Jenkins Pipeline와 DooD를 결합한 CI/CD 환경 구성하기 (0) | 2025.02.21 |
SonarQube와 JaCoCo로 테스트 커버리지 측정하기 (0) | 2025.01.29 |
SonarQube와 GitHub Actions로 정적 코드 품질 관리하기 (0) | 2025.01.21 |
Testcontainers를 활용한 AWS S3 테스트 환경 구성하기 (2) | 2025.01.20 |
블로그의 정보
코드의 여백
rowing0328