for i in {1..110}; do printf "myserver%05d\n" $i; done > myservers.txt
#group servers by 20
count=0
group=0
for line in $(cat myservers.txt);
do
printf "GROUP_%03d %s\n" $group $line
((count=$count + 1))
if [ $count -eq 20 ]; then
((group=$group + 1))
count=0
fi
done >> grouped.txt
#print servers in given group
cat grouped.txt | grep GROUP_005 | awk -F' ' '{print $2}'
#put this in steps.sh
myserver=$1
step=$2
case $step in
1)
echo "hello, this is step 1 for server $myserver"
;;
2)
echo "ciao, this is step 2 for server $myserver"
;;
3)
echo "Gruezi, this is step 3 for server $myserver"
;;
*)
echo "ERROR invalid step $step"
esac
#execute given step for GROUP
THESTEP=3; cat grouped.txt | grep GROUP_005 | awk -vstep="$THESTEP" -F' ' '{print $2,step}' | xargs ./steps.sh
No comments:
Post a Comment