work_sript/01.stress_script/inband_ac_cycle.sh

74 lines
1.8 KiB
Bash
Raw Normal View History

2024-07-15 10:44:21 +08:00
#!/bin/bash
#### About this script
# Brief : This script is used for inband ac_cyle
# Input Params : 1.AC cycle times
# Example : ./inband_ac_cycle.sh 500 &
# Tips : if want to check anything before machine ac cycle,
# put code into function pre_check(Line:34)
# ----------------------------------------------------
# Varible Defination
# ----------------------------------------------------
aim_cnt=$1
PARAM_NUM="1"
LOG_FILE="inband_ac_cycle.log"
LOCAL_CNT_FILE="count.txt"
# ----------------------------------------------------
# Function Defination
# ----------------------------------------------------
print_usage(){
echo ">>>> Script Usage - inband_ac_cycle.sh"
echo "Format: ./inband_ac_cycle.sh [cnt] &"
}
is_param_legal(){
if [ $# -ne $PARAM_NUM ];then
print_usage
exit 0
fi
}
pre_check(){
# check if local cnt file exist
if [ -f $LOCAL_CNT_FILE ];then
echo "Local cnt file exist ..." >> /dev/null
else
echo "Local cnt file doesn't exist, so creat it ..." | tee $LOG_FILE
echo 1 > $LOCAL_CNT_FILE
fi
echo "---------------------------------------------" | tee $LOG_FILE
#Todo if need check something
sleep 120
}
start_ac_cycle(){
local_cnt=`cat $LOCAL_CNT_FILE`
if [ $local_cnt -le $aim_cnt ];then
echo "Index $local_cnt : will execute machine AC cycle" | tee $LOG_FILE
local_cnt=$(($local_cnt+1))
echo $local_cnt > $LOCAL_CNT_FILE
ipmitool raw 0x3c 0x28 0xff 0xfc
sleep 10
ipmitool raw 0x3c 0x28 0xff 0xfd
fi
}
# ----------------------------------------------------
# The start of script
# ----------------------------------------------------
is_param_legal
pre_check
start_ac_cycle