#!/bin/bash SH_KNIFE="/usr/local/chef/chef-repo/knife_parallel.bash" LOG_FILE="/usr/local/chef/chef-repo/knife_base.log" func_usage() { echo "Usage: `basename $0` {bootstrap|prepare|cook}" return 0 } if [ $# -lt 1 ]; then func_usage exit 1 fi case $1 in bootstrap) COMMAND="bootstrap" ;; cook) COMMAND="cook" ;; prepare) COMMAND="prepare" ;; *) func_usage exit 2 ;; esac ROLES=("web" "db" "adm" "bat" "mng") for role in ${ROLES[@]}; do echo "### `date +'%Y/%m/%d %H:%M:%S'`[START]: ROLE is ${role}" | tee -a ${LOG_FILE} ${SH_KNIFE} ${COMMAND} ${role} ret=$? if [ ${ret} -ne 0 ]; then echo "### `date +'%Y/%m/%d %H:%M:%S'`[ERROR]: ROLE is ${role}, loopup ${LOGFILE}" | tee -a ${LOG_FILE} fi done echo "### `date +'%Y/%m/%d %H:%M:%S'`[END]" >> ${LOG_FILE} exit 0