
#!/bin/sh
# File	: lnx_cmd.sh
# By	: Maarten.deBoer@Atos.net, 240319
# Subject	: Script to do a CMD on (all) Linux systems
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

HOSTS="${HOME}/etc/linux.hosts"
FILTER="[?]*"
CMD="hostname"

if [ "${1}" != "" ]; then
  CMD="${1}"
fi
if [ "${2}" != "" ]; then
  FILTER="${2}"
fi

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  CMD(1)=${CMD}"
echo "  FILTER(2)=${FILTER}"
echo "  HOSTS=${HOSTS}"
sleep 1

if [ -f ${HOSTS} ]; then
  cat ${HOSTS}|grep -v ^#|grep "${FILTER}"| while read LINE
  do
    echo "  LINE=${LINE}"
    IP_ADDR=`echo ${LINE}|awk '{print $1}'`
    ${SSH} ${IP_ADDR} "${CMD}"

  done  # LINE
else
  echo "  NO HOSTS (${HOSTS}) found."|tee -a ${LOG}
fi  # HOSTS



echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

