work_sript/01.stress_script/inband_ac_cycle.sh
2024-07-26 17:09:35 +08:00

77 lines
1.8 KiB
Bash

#!/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 ..."
echo 1 > $LOCAL_CNT_FILE
fi
echo "---------------------------------------------"
#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"
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
# ----------------------------------------------------
if [ $# -ne $PARAM_NUM ];then
print_usage
exit 0
fi
pre_check
start_ac_cycle