56 lines
1.2 KiB
Bash
56 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# 사용자 이름 및 비밀번호 설정
|
|
IDRAC_USER="root"
|
|
IDRAC_PASS="calvin"
|
|
|
|
# IP 주소 파일 경로 인자 받기
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 <ip_file>"
|
|
exit 1
|
|
fi
|
|
|
|
IP_FILE=$1
|
|
|
|
if [ ! -f "$IP_FILE" ]; then
|
|
echo "IP file $IP_FILE does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
# 정보 저장 디렉터리 설정
|
|
OUTPUT_DIR="idrac_info"
|
|
mkdir -p $OUTPUT_DIR
|
|
|
|
# iDRAC 정보를 가져오는 함수 정의
|
|
fetch_idrac_info() {
|
|
local IDRAC_IP=$(cat $IP_FILE)
|
|
|
|
# DellEMC Server
|
|
local hwinventory=$(racadm -r $IDRAC_IP -u $IDRAC_USER -p $IDRAC_PASS set storage.Controller.1.PatrolReadRate 9 )
|
|
|
|
rm -f $IP_FILE
|
|
}
|
|
|
|
export -f fetch_idrac_info
|
|
export IDRAC_USER
|
|
export IDRAC_PASS
|
|
export OUTPUT_DIR
|
|
|
|
# 시작 시간 기록
|
|
START_TIME=$(date +%s)
|
|
|
|
# IP 목록 파일을 읽어 병렬로 작업 수행
|
|
fetch_idrac_info
|
|
|
|
# 종료 시간 기록
|
|
END_TIME=$(date +%s)
|
|
|
|
# 소요 시간 계산
|
|
ELAPSED_TIME=$(($END_TIME - $START_TIME))
|
|
ELAPSED_HOURS=$(($ELAPSED_TIME / 3600))
|
|
ELAPSED_MINUTES=$((($ELAPSED_TIME % 3600) / 60))
|
|
ELAPSED_SECONDS=$(($ELAPSED_TIME % 60))
|
|
|
|
echo "설정 완료."
|
|
echo "수집 완료 시간: $ELAPSED_HOURS 시간, $ELAPSED_MINUTES 분, $ELAPSED_SECONDS 초."
|