Update 2025-12-19 20:23:59
This commit is contained in:
@@ -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")
|
||||
@@ -190,17 +198,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
|
||||
@@ -214,20 +222,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()
|
||||
Reference in New Issue
Block a user