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