下面这个脚本可以实现大量机器的分批灰度执行某一脚本功能,分批的时间间隔为十分钟,
脚本参数为:每一批次数量、总数量、机器IP列表
#!/bin/bash
if [ $# -ne 3 ]
then
echo "Usage: $0 <num> <max> <data>"
exit 1
fi
time=600
num=$(($1-1))
max=$2
data=$3
for ((i=1; i<$max; i+=$num+1 ))
do
sed -n ''$i','$(($i+$num))' p' $data > tmp
./RunTwo.sh tmp
if [ $(($i+$num)) -eq $max ]
then
exit 0
fi
sleep $time
done