Update README.md
This commit is contained in:
230
README.md
230
README.md
@@ -1,2 +1,230 @@
|
|||||||
# iDRAC_Info
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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` 파일을 생성하고 다음 내용을 설정하세요:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
### 실행 방법
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 개발 서버 실행
|
||||||
|
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 토큰 보호
|
||||||
|
- 안전한 파일 업로드 및 처리
|
||||||
|
|
||||||
|
## 📧 연락처
|
||||||
|
|
||||||
|
프로젝트 관련 문의사항이 있으시면 이슈를 등록해주세요.
|
||||||
Reference in New Issue
Block a user