#!/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