Update 2025-12-19 20:23:59

This commit is contained in:
unknown
2025-12-19 20:23:59 +09:00
parent b37c43ab86
commit 9d5d2b8d99
22 changed files with 1302 additions and 472 deletions

View File

@@ -10,6 +10,14 @@ import sys
import time
from pathlib import Path
from typing import Dict, Optional, Tuple, List
import logging
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s [INFO] root: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
# ===== 설정: 기본 계정/비밀번호 (환경변수로 덮어쓰기 가능) =====
IDRAC_USER = os.getenv("IDRAC_USER", "root")
@@ -189,17 +197,17 @@ def main():
ip_file = Path(args.ip_file)
if not ip_file.exists():
print(f"IP 파일이 존재하지 않습니다: {ip_file}", file=sys.stderr)
logging.error(f"IP 파일이 존재하지 않습니다: {ip_file}")
sys.exit(1)
with ip_file.open("r", encoding="utf-8") as f:
ips = [ln.strip() for ln in f if ln.strip()]
if not ips:
print("IP 목록이 비어 있습니다.", file=sys.stderr)
logging.error("IP 목록이 비어 있습니다.")
sys.exit(1)
print(f"[시작] 총 {len(ips)}대, workers={args.workers}, IDRAC_USER={IDRAC_USER}")
logging.info(f"[시작] 총 {len(ips)}대, workers={args.workers}, IDRAC_USER={IDRAC_USER}")
t0 = time.time()
ok = 0
@@ -213,20 +221,23 @@ def main():
try:
_ip, success, msg = fut.result()
prefix = "[OK] " if success else "[FAIL] "
print(prefix + ip + " - " + msg)
if success:
logging.info(prefix + ip + " - " + msg)
else:
logging.error(prefix + ip + " - " + msg)
ok += int(success)
fail += int(not success)
except Exception as e:
print(f"[EXC] {ip} - {e}", file=sys.stderr)
logging.error(f"[EXC] {ip} - {e}")
fail += 1
dt = int(time.time() - t0)
h, r = divmod(dt, 3600)
m, s = divmod(r, 60)
print("\n정보 수집 완료.")
print(f"성공 {ok}대 / 실패 {fail}")
print(f"수집 완료 시간: {h} 시간, {m} 분, {s} 초.")
logging.info("\n정보 수집 완료.")
logging.info(f"성공 {ok}대 / 실패 {fail}")
logging.info(f"수집 완료 시간: {h} 시간, {m} 분, {s} 초.")
if __name__ == "__main__":
main()