2025-10-13 22:09:21 +09:00
2025-10-05 17:37:51 +09:00
2025-10-13 22:08:53 +09:00
2025-10-13 22:09:21 +09:00
2025-10-05 17:37:51 +09:00
2025-10-05 17:37:51 +09:00
2025-10-05 17:37:51 +09:00
2025-10-05 17:37:51 +09:00
2025-10-05 17:37:51 +09:00
2025-10-05 12:12:06 +09:00
2025-10-05 17:37:51 +09:00

iDRAC Info Manager

Flask 기반 iDRAC 서버 관리 및 자동화 도구

📋 목차

📖 소개

iDRAC Info Manager는 Dell iDRAC 서버 관리를 자동화하고 효율적으로 처리하기 위한 웹 기반 도구입니다. IP 주소 처리, 스크립트 실행, 파일 관리 등 서버 관리에 필요한 다양한 기능을 제공합니다.

주요 기능

IP 처리 및 스크립트 실행

  • 다중 IP 주소에 대한 일괄 스크립트 실행
  • 실시간 처리 상태 모니터링 (SocketIO)
  • 처리 결과 자동 저장 및 관리

파일 관리

  • 업로드된 파일 자동 백업
  • 실시간 파일 모니터링 (Watchdog)
  • 파일 내용 미리보기 및 다운로드
  • 안전한 파일 삭제 기능

데이터 변환 도구

  • MAC to Excel: MAC 주소 목록을 Excel 파일로 변환
  • GUID to Excel: GUID 데이터를 Excel 파일로 변환
  • 서버 리스트 관리 (덮어쓰기 옵션 지원)

사용자 관리

  • Flask-Login 기반 인증 시스템
  • 사용자별 권한 관리

알림 기능

  • Telegram Bot 연동 (선택 사항)
  • 처리 완료 알림

🛠 기술 스택

Backend

  • Framework: Flask 3.0.0
  • Database: SQLAlchemy (Flask-SQLAlchemy 3.1.1)
  • Authentication: Flask-Login 0.6.3
  • Migration: Flask-Migrate 4.0.5
  • Real-time: Flask-SocketIO 5.3.5

Libraries & Tools

  • Watchdog: 파일 시스템 모니터링
  • Telegram Bot: 알림 전송
  • Chardet: 문자 인코딩 감지
  • Natsort: 자연스러운 정렬

Frontend

  • Bootstrap 5
  • Bootstrap Icons
  • JavaScript (SocketIO Client)

🚀 시작하기

필수 요구사항

  • Python 3.8 이상
  • pip (Python 패키지 관리자)

설치 방법

Windows

# 1. 저장소 클론
git clone https://github.com/yourusername/idrac_info.git
cd idrac_info

# 2. 가상환경 생성 및 활성화
python -m venv venv
venv\Scripts\activate

# 3. 의존성 설치
pip install -r requirements.txt

# 4. 데이터베이스 초기화
flask db upgrade

# 5. 환경 변수 설정 (.env 파일 생성)
# .env.example을 참고하여 설정

Linux

# 1. 저장소 클론
git clone https://github.com/yourusername/idrac_info.git
cd idrac_info

# 2. 가상환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate

# 3. 의존성 설치
pip install -r requirements.txt

# 4. 데이터베이스 초기화
flask db upgrade

# 5. 환경 변수 설정 (.env 파일 생성)
# .env.example을 참고하여 설정

환경 설정

.env 파일을 생성하고 다음 내용을 설정하세요:

# Flask 설정
SECRET_KEY=your-secret-key-here
FLASK_ENV=development

# 데이터베이스
DATABASE_URL=sqlite:///app.db

# Telegram Bot (선택 사항)
TELEGRAM_BOT_TOKEN=your-bot-token
TELEGRAM_CHAT_ID=your-chat-id

# 폴더 경로
UPLOAD_FOLDER=uploads
BACKUP_FOLDER=backup
XML_FOLDER=xml_files
SCRIPT_FOLDER=scripts
LOG_FOLDER=logs
IDRAC_INFO_FOLDER=idrac_info

실행 방법

# 개발 서버 실행
python app.py

# 또는
flask run

브라우저에서 http://localhost:5000 접속

📁 프로젝트 구조

idrac_info/
├── app.py                      # 메인 애플리케이션
├── config.py                   # 설정 파일
├── requirements.txt            # Python 의존성
├── backend/
│   ├── models/                 # 데이터베이스 모델
│   │   └── user.py
│   ├── routes/                 # 라우트 핸들러
│   │   ├── main.py
│   │   └── auth.py
│   ├── services/               # 비즈니스 로직
│   │   ├── logger.py
│   │   ├── watchdog_handler.py
│   │   └── platform_utils.py
│   ├── templates/              # HTML 템플릿
│   │   ├── base.html
│   │   └── index.html
│   └── static/                 # 정적 파일
│       ├── css/
│       └── js/
├── uploads/                    # 업로드 파일
├── backup/                     # 백업 파일
├── scripts/                    # 실행 스크립트
├── logs/                       # 로그 파일
└── migrations/                 # 데이터베이스 마이그레이션

💡 사용법

1. IP 처리

  1. 메인 페이지에서 스크립트 선택
  2. IP 주소 입력 (각 줄에 하나씩)
  3. "처리" 버튼 클릭
  4. 실시간 진행 상황 확인
  5. 완료 후 결과 파일 다운로드

2. MAC/GUID 변환

  1. 해당 섹션에서 데이터 입력
  2. 필요시 서버 리스트 입력
  3. 변환 버튼 클릭
  4. 생성된 Excel 파일 다운로드

3. 파일 관리

  1. 처리된 파일 목록에서 파일 확인
  2. "보기" 버튼으로 내용 미리보기
  3. 다운로드 또는 삭제 가능
  4. 자동 백업 기능으로 안전하게 관리

🔧 주요 기능 상세

크로스 플랫폼 지원

  • Windows와 Linux 모두 지원
  • OS별 최적화된 SocketIO 모드 자동 선택
    • Windows: Threading 모드
    • Linux: Eventlet 모드

실시간 모니터링

  • SocketIO를 통한 실시간 진행 상황 업데이트
  • Watchdog를 통한 파일 변경 감지
  • 자동 화면 갱신

보안

  • Flask-Login 기반 사용자 인증
  • CSRF 토큰 보호
  • 안전한 파일 업로드 및 처리

📧 연락처

프로젝트 관련 문의사항이 있으시면 이슈를 등록해주세요.

Description
No description provided
Readme 1.5 MiB
Languages
Python 52.2%
Shell 16.2%
HTML 15.5%
JavaScript 9.3%
CSS 6.7%