본문 바로가기
IT&Jobs/Study

[배워봅시다] iDRAC racadm cmd script 구상 중...

by jaeilpark 2025. 7. 22.
728x90
반응형

안녕하세요 일이입니다

얼마 전 86대의 Dell R660 Server의 iDRAC의 DNS와 remote syslog enable 및 설정을 하면서

간편하게 cmd로 배치파일을 만들어 일괄적으로 등록할 수 있게 script를 만들어 보았네요..

 

처음 작성 된 코드라 점진적으로 개선해서

유용한 배치 파일을 만들어 보아야 겠습니다

 

 

1. iDRAC 적용 Server iDRAC IP List File (File name: idrac_targets.txt)
169.254.0.3
169.254.0.4
192.168.1.50

 

2. 공통 설정 값을 적용할 파일 (File name: config_env.bat)
:: 공통 로그인 정보 및 설정 값 정의
set USER=root
set PASS=wkqehdtksl1@#

:: 공통 설정 값
set DNS1=168.126.63.1
set DNS2=168.126.63.2
set SYSLOG_SERVER=syslog_server.net
set SYSLOG_PORT=25

 

적용 대상 일괄 자동화 스크립트 본문
@echo off
setlocal enabledelayedexpansion

:: 공통 설정 불러오기
call config_env.bat

:: 로그 생성
set TODAY=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set LOGFILE=logs\idrac_config_log_%TODAY%.txt
echo iDRAC 일괄 설정 로그 - %DATE% > %LOGFILE%

:: 각 IP 순회
for /f "usebackq tokens=*" %%I in ("idrac_list.txt") do (
    set IDRAC_IP=%%I
    echo. >> %LOGFILE%
    echo ===================================================== >> %LOGFILE%
    echo Configuring iDRAC: !IDRAC_IP! >> %LOGFILE%
    echo ===================================================== >> %LOGFILE%

    echo [PING TEST] !IDRAC_IP! 연결 확인 중...
    ping -n 2 !IDRAC_IP! >nul
    if errorlevel 1 (
        echo !IDRAC_IP! - 연결 실패 (SKIPPED) >> %LOGFILE%
        echo. >> %LOGFILE%
        goto :continue
    )

    :: 설정 항목 순차 적용
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.IPv4.DNS1 %DNS1% >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.IPv4.DNS2 %DNS2% >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.IPMILan.AlertEnable 1 >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% eventfilters set -c idrac.alert.all -a none -n RemoteSyslog >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.SysLog.SysLogEnable 1 >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.Syslog.Server1 %SYSLOG_SERVER% >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% set iDRAC.Syslog.Port %SYSLOG_PORT% >> %LOGFILE% 2>&1

    :: 적용된 값 확인
    echo [VERIFY] 설정 결과 확인 중... >> %LOGFILE%
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% get iDRAC.IPv4.DNS1 >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% get iDRAC.IPv4.DNS2 >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% get iDRAC.Syslog.Server1 >> %LOGFILE% 2>&1
    racadm -r !IDRAC_IP! -u %USER% -p %PASS% get iDRAC.Syslog.Port >> %LOGFILE% 2>&1

    echo !IDRAC_IP! 구성 완료 >> %LOGFILE%
    timeout /t 2 >nul

    :continue
)

echo.
echo =====================================================
echo 모든 iDRAC 장비 구성 작업이 완료되었습니다.
echo 로그 파일: %LOGFILE%
echo =====================================================
pause
exit

 

 

iDRAC racadm 명령어를 처음 사용해 봐서.. 

수정/편집할 부분이 많이 있어 보이긴 하네요..

 

최적화해 가면서.. 추가 명령어들을 두루두루 적용해 보아야겠네요~

 

 

728x90
반응형

댓글